A strong start set up the win for Vesti who then resisted intense pressure from both Martins and Richard Verschoor.
At the race start, pole man Ralph Boschung found himself swamped into Turn 1, locking up into the opening chicane as Frederik Vesti and Richard Verschoor battled it out for the lead.
That resolved itself in favour of Vesti with Verschoor settling for second at Variante Roggia, then came Kush Maini and Boschung.
Theo Pourchaire had contact in the opening corner while Victor Martins was squeezed by Oli Bearman on the run down there.
A spin for Amaury Cordeel at Varinate Ascari, triggered by contact from Zane Maloney, saw the Safety Car deployed after the Belgian lost the engine.
Jack Doohan remained 14th in the opening exchanges, just behind Bearman who'd dropped to 12th.
Racing resumed with Vesti leading the field to the start of Lap 5, the Mercedes junior accelerating as he rounded the apex at the Parabolica.
The race leader was clear but behind him, the field swallowed Boschung who plummeted to ninth by the time he reached the second chicane.
By the end of the lap, the pole sitter had fallen to 13th and was in the sights of Doohan, who made the move midway around the following lap.
Vesti was able to pull clear of DRS range on Lap 7 to leave Verschoor in a lonely second place.
A brave move from Pourchaire saw the championship leader pass Jak Crawford at the Roggia chicane after drawing alongside as they rounded the Curva Grande.
Martins had moved up to third with a bold move inside Maini into the opening chicane as the front of the field began to spread out.
The Frenchman was on a charge, however, and quickly bridged the gap to Verschoor ahead to challenge for second place.
Martins was strong on the brakes, replicating the move he put on Maini to steal second from Verschoor on Lap 12.
Moments later, Roy Nissany found himself pointing the wrong way at Variante Roggia, losing the engine and drawing the Safety Car.
He'd been battling with Juan Manuel Correa in the first chicane, carrying on into the second as Nissany was pinched to the apex and lost control.
Vesti slowed the field on the approach to the Parabolica, accelerating again at the apex to gain a helpful jump from Martins, who had Verschoor attacking into the opening chicane.
He couldn't make the move stick and it remained status quo as in the pack Jehan Daruvala found the gravel at the opening complex.
Pourchaire got boy Maini with an incredible move, braking late to scythe underneath to claim fourth.
An eight-car battle developed for ninth place, running four wide as they started Lap 17, Doohan holding on as he sat 11th in the middle of the pack.
In second, Martins struggled to make an impact on Vesti ahead, who had good pace through the Lesmos and Parabolica to safeguard his position.
He headed a DRS train, leaving Pourchaire toothless to attack Verschoor in third, who in turn was unable to attack Martins.
Vesti hung on, winning by 0.556s from Martins with Verschoor third over Pourchaire.
Doohan crossed the line 11th, though a time penalty for Dennis Hauger and another of Jak Crawford saw him promoted to ninth in the final classification.