Nyck de Vries scored his first Formula 2 win this season in Barcelona and ART Grand Prix's first since Williams F1 driver George Russell won in Abu Dhabi last year.
Ex-Prema Racing driver de Vries got a great start from third on the grid and moved up to second, behind fast-starter Anthoine Hubert from third on the grid.
A scary fire for Nobuharu Matsushita meant he pulled off at the exit of Turn 10 but he escaped the car unhurt.
De Vries waited patiently for DRS, and despatched Hubert at Turn 1 on lap eight of 26 and began building a gap, which went as high as over three seconds to secure a comfortable victory.
Ferrari junior Callum Ilott had a terrible start and fell down to fourth but, motivated by his Alfa Romeo Formula 1 test next week, he did not get flustered and set about working his way forward, passing Hubert three laps after de Vries and into second.
Ilott did come under pressure from Luca Ghiotto in the closing stages.
The Virtuosi Racing driver turned a broken wing, two pitstops and being at the back of the grid into fourth in Saturday's feature race.
He replicated the pace that made him "afraid" on Saturday by scything through the order after a difficult start.
Ghiotto reeled in Ilott and delivered a spectacular move around the outside of Turn 1 on the last lap to take second, while Ilott secured a first F2 podium after graduating from the GP3 Series with the Sauber Junior Team.
Hubert was passed by Guan Yu Zhou on the last lap, the latter taking his first F2 podium a day before for Virtuosi.
It was still a great weekend for Hubert following his drive from 15th to fifth in Saturday's race.
Nicholas Latifi dropped back from eighth to ninth at the start and showed none of the pace he had in Saturday's win in the early stages.
But in the second third of the race he began picking off the opposition, made easier by a botched move from Jack Aitken on Jordan King at Turn 1, which handed him a spot.
After Latifi passed King, that gave him sixth and he reeled in Zhou, before the latter picked up the pace to pass Hubert.
King and Aitken fought all race, but ultimately MP driver King had the measure of Aitken as the latter picked up the last point on offer.
Aitken had to fight off Mick Schumacher on the last lap, but Schumacher failed to execute a Turn 1 overtake and then didn't lap the cone at the pit exit, earning a five-second penalty dropping him to 12th from ninth.
Schumacher's Prema Racing team-mate Sean Gelael therefore took ninth, ahead of Trident's Ralph Boschung who scores two top 10s in a weekend where he is fighting for his F2 future with budget issues.
Result - 26 laps
|1||Nyck de Vries||ART Grand Prix||42m25.916s|
|3||Callum Ilott||Sauber Junior Team by Charouz||4.382s|
|5||Anthoine Hubert||BWT Arden||12.567s|
|7||Jordan King||MP Motorsport||21.419s|
|8||Jack Aitken||Campos Racing||26.644s|
|9||Sean Gelael||Prema Racing||27.445s|
|12||Mick Schumacher||Prema Racing||30.908s|
|13||Tatiana Calderon||BWT Arden||32.269s|
|14||Nikita Mazepin||ART Grand Prix||35.061s|
|15||Juan Manuel Correa||Sauber Junior Team by Charouz||37.852s|
|17||Sergio Sette Camara||DAMS||40.538s|
|18||Dorian Boccolacci||Campos Racing||44.210s|
|19||Mahaveer Raghunathan||MP Motorsport||1m08.701s|
|3||Nyck de Vries||63|
|6||Sergio Sette Camara||33|
|9||Juan Manuel Correa||18|