Honda's Dani Pedrosa cruised to victory at the Aragon Grand Prix ahead of championship leader Jorge Lorenzo of Yamaha on Sunday to trim the gap to his Spanish compatriot to 33 points with four races left.
Lorenzo started on pole and led from Pedrosa in the early stages at a sunny Motorland circuit but was overtaken by the Honda rider with around 17 laps remaining and never looked like regaining the lead.
With a comfortable cushion at the top of the standings, he appeared to ease off in order to secure second spot and remains well placed to secure a second MotoGP title following his debut triumph in 2010.
Yamaha trio Andrea Dovizioso, Cal Crutchlow and Ben Spies fought an entertaining battle for the remaining place on the podium, with Italian Dovizioso eventually clinching third ahead of Briton Crutchlow and American Spies.
"It was tough to stay calm and remain focused but I came out full of concentration and I knew the bike would perform well," Pedrosa, who crashed in Saturday's qualifying session, said in an interview with Spanish television.
"I managed to pass Jorge and then got into my rhythm and I am very pleased with the home win," added the Spaniard, who turned 27 on Saturday.
Lorenzo said: "I made a good start and tried to ride at my limit but Dani really rode a spectacular race and we couldn't do anything about him and his bike.
"But it was more or less what we wanted in terms of securing the points and better moments will come," he added.
Lorenzo leads on 290 points ahead of the next race in Japan in two weeks, with Pedrosa on 257.
World champion Casey Stoner of Australia, who is out injured and is set to retire at the end of the season after falling out of love with the sport, is third on 186 points, seven clear of Dovizioso.
Ducati rider Nicky Hayden suffered a spectacular crash early in Sunday's race and was taken to the medical centre for checks.
Race organisers said the American had arrived there "conscious and with full mobility" and had later been transferred to a local hospital in order to "rule out any internal injuries".
Spaniard Pol Espargaro won Sunday's Moto2 race ahead of compatriot Marc Marquez and Briton Scott Redding.
Espargaro's victory cut Marquez's championship lead to 48 points, with Italian Andrea Iannone in third.
Luis Salom, another Spaniard, was victorious in the Moto3 category to move into second in the standings behind Sandro Cortese. Cortese finished second on Sunday and his German compatriot Jonas Folger was third.