Alan Kasaev's first-half goal proved enough to give Rubin Kazan a win which leaves them in a strong position to qualify for the knockout stages of the Europa League.
Kasaev's 16th-minute strike maintained the Russian side's unbeaten start in Group H, with seven points from their first three games, while Neftchi remain without a win.
Kasaev's drilled shot from a Gokdeniz Karadeniz through-ball was the first real chance of a cagey opening quarter-hour, but the hosts could have increased their lead five minutes later when Jose Salomon Rondon shot just wide.
Kasaev curled a 20-yard effort which was caught by Neftchi keeper Sasa Stamenkovic in the 25th minute as Rubin began to dominate, and Stamenkovic also had to be alert to pluck a dangerous Karadeniz cross from the air.
Cristian Ansaldi was another home player to bring a save from the keeper before Neftchi had their first real chance in the 34th minute, Bruno Bertucci firing over the bar from 25 yards.
Stamenkovic parried a shot by Oleg Kuzmin just before the break but Neftchi looked more lively in the second half, Nicolas Canales shooting just wide and Venancio Flavinho bringing a save out of Sergei Ryzhikov.
Kasaev flashed a weak header wide and Vladimir Dyadyun also missed the target as Rubin tried to make the game safe, but Neftchi failed to further threaten the home goal as the minutes ticked down.