Campos Racing rookie Vidales made a strong start and held onto the lead, fending off second-place starter Juan Manuel Correa (ART Grand Prix) at Turn 1.
Crawford made it up to second place by lap five and had closed in on the leader by lap 12 before the pair tussled at Turn 1, sending the Prema Racing driver wide in an incident which will be investigated after the race.
The move allowed Spaniard Vidales to build a 1.5s lead, which he maintained until the end to take his first series win at his home race.
Crawford took his third consecutive podium, having also finished second in the feature race in Imola and third in the sprint.
Caio Collet completed the podium for MP Motorsport, having started fifth before passing Kaylen Frederick (Hitech) for fourth on lap 13 and swooping past Correa on the main straight just two laps from the end of the race.
Alexander Smolyar (MP Motorsport) had a great start off the line from ninth on the grid before taking seventh place from Prema’s Ollie Bearman on lap two, eventually finishing sixth.
Teammates Bearman and Arthur Leclerc, who started sixth and seventh respectively, tussled from the start, with Leclerc overtaking the Briton on lap four.
The Monegasque Ferrari junior completed another trademark charge through the field, picking off Frederick and taking advantage of a tussle between Smolyar and Correa to take fifth place on the penultimate lap.
He made it past the American on the last lap to take fourth place, giving him the championship lead after Victor Martin was forced to retire early on.
Correa took fifth place, with Frederick in seventh and Sunday’s feature race polesitter Roman Stanek in eighth.
Having started sixth, Bearman severely suffered from tyre degradation late on, falling out of the top 10 to finish 12th.
Franco Colapinto was forced to retire after the engine cover flew off his Van Amersfoort Racing-run car on lap nine, resulting in him being shown a black and white flag.