Miguel Oliveira came out on top in a final lap battle with Luca Marini to win the Moto2 Grand Prix at Brno.

The Red Bull KTM Ajo rider spent much of the race in a lead group of five with a stream of overtakes giving us four leaders over the course of the race, with Oliveira and Marini pulling away in the closing stages to challenge each other for the win.

In the end it all came down to the run to the line, the gap between the pair being a slim 0.070s at the chequered flag with the Portuguese rider handling the last corner perfectly despite struggling with his bike due to tyre wear.

He moved back in front to block any final lunges to cross the line first, giving the Red Bull KTM Ajo squad back-to-back wins after Brad Binder won before the summer break in Germany.

His fourth win also makes him championship leader, with 166 points he is now two points ahead of Francesco Bagnaia.

Marini’s first-ever victory may have eluded him, but his second podium appearance was his best result to date.

The final rostrum spot went to his Sky Racing VR46 team-mate ‘Pecco’ Bagnaia.

He passed Pons HP 40 rider Lorenzo Baldassarri who gave all of his tyre life to move into the front group from tenth on the grid but had to settle for fourth place.

Xavi Vierge started in the lead group but was dropped to finish a lonely fifth for Dynavolt Intact GP.

Binder almost caught him but had to settle for sixth, while holding off Marcel Schrotter (Dynavolt) and Jorge Navarro (Gresini) who he pulled along with him to see the pair finish seventh and eighth respectively.

Sam Lowes (Swiss Innovative Investors) was not far behind after an amazing performance picking off rivals on his way to ninth after qualifying way down in 22nd.

Mattia Pasini dropped to tenth by the end for Italtrans, but managed to hold off Catalunya winner Fabio Quartararo (Speed Up) in the run in to the line.

Augusto Fernandez took 12th for Pons, Iker Lecuona (Swiss Innovative Investors) found himself back in the points in 13th with Italtrans man Andrea Locatelli a distant 14th. Veteran Simone Corsi claimed the final point on offer taking 15th for Tasca Racing.

An eventful opening few laps left Joe Roberts as top rookie in 18th on the NTS RW Racing bike.

Romano Fenati saw any chance of a comeback erased when he was handed a ride through penalty for a jump start.

The first lap saw Remy Gardner try to pass under Joan Mir but the pair collided leaving Bo Bendsneyder nowhere to go with the trio ending in a nasty pile up in the gravel - Bendsneyder got tangled up with one of the flying bikes, then ended up with another on top of him when it bounced of the air fence with Mir rushing over to help remove it.

Wildcards Xavi Cardelus (Team Stylobike) and Sheridan Morais (Willi Race Racing Team) had differing fortunes, Cardelus fell after three laps, while Morais finished 24th.

Isaac Vinales is replaced by Alejandro Medina at SAG Team, he crashed out with 17 laps remaining.

Stefano Manzi lasted three laps longer before exiting at turn three, while Alex Marquez flew out of the lead group, which then consisted of six riders, at the final corner with eleven laps left to run.

Danny Kent followed soon after, leaving the race at turn three.

Federico Fuligni missed the race after sustaining an injury in training over the summer break, he was not replaced by the Tasca Team.