Miguel Oliveira rode intelligently and took advantage of a late error from Lorenzo Baldassarri to win a hard fought four-way battle for victory at the Italian Moto2 race, round six of the championship.

The Red Bull KTM Ajo rider had an epic battle at the front with home hope Baldassarri, with the pair swapping the lead several times every lap. The furious battling brought both Joan Mir and Francesco Bagnaia back into contention, putting four riders in with a chance of a podium finish on the final lap.

It was to be Oliveira, who had qualified down in eleventh, who went on to claim his first win of the season, passing Baldassarri one final time as he survived a late wobble which turned into a huge tankslapper, which he managed to control.

That meant the Pons HP40 rider, though disappointed to miss out on the win, held on for second, just 0.184 behind at the chequered flag for his third podium finish of the year.

Joining them on the rostrum was rookie Joan Mir who fought back after drifting off the pace for EG 0,0 Marc VDS, to pass Bagnaia in the final corner for his second third place in a row, equalling his best result so far in Moto2.

Listen to that noise! Bikes of MotoGP: Which sounds best?

Sky Racing Team VR46 rider ‘Pecco’ Bagnaia was the man to miss out on spraying the champagne, he had worked hard to make up the distance Oliveira and Bagnaia had gained on him, but still leads the overall championship standings with a total of 111, though the gap back to his Portuguese rival is cut to just 13 points.

Alex Marquez faded to fifth on the second Marc VDS entry but crossed the line over two seconds clear of sixth place Brad Binder, the Red Bull KTM Ajo rider again equalling his best result of the season so far.

Seventh went to Luca Marini (Sky Racing Team VR46) who was in turn clear of Italtrans rider Andrea Locatelli, he took his first top ten finish in Moto2 with ninth in front of his home crowd.

Simone Corsi (Tasca Racing Scuderia) finished his 250th grand prix in tenth.

Fabio Quartararo was the best of the Speed Up riders in eleventh, while Dominique Aegerter finished his first race back from injury a credible twelfth for Kiefer, all the more impressive given he qualified all the way down in 26th.

The remaining points on offer went to Iker Lecuona (Swiss innovative Investors) in 13th, Joe Roberts on the NTS RW Racing machine in 14th with his team-mate Steven Odendaal 15th, marking progress for the manufacturer.

Hector Garzo, who is still replacing, Remy Gardner at Tech 3, he finished 20th.

Wildcard Xavi Cardelus (Team Stylobike)crossed the line 22nd and was the last recorded finisher in a crash heavy race.

Mattia Pasini was the biggest casualty, the Italian had lead all the way after starting from pole until he reached turn one with eight laps left when he slid out as the track got slippery in the closing stages.

Marcel Schrotter got the best start off the line and flew into the lead and then unfortunately flew into the gravel straight after at turn two, ending his race.

Stefano Manzi also fell on the first lap but remounted only to crash again later in the race, while Bo Bendsneyder pitted. Jorge Navarro managed four laps before he too crashed out of contention.

Sam Lowes saw his race get off to the worst possible start when he got clipped by Khairul Idham Pawi, which saw him travel through the gravel, he stayed on to come out 30th. The Briton then tried to make up the difference but crashed out after climbing back to 21st with 15 laps remaining.

Romano Fenati had bike issues one lap later and slipped down the timesheets before eventually retiring, he had been pushing hard in the front group. Danny Kent soon followed with a spill at turn one after losing the front end.

With six laps to go Hector Barbera collected Tetsuta Nagashima ending both their races.