The RSF-backed Prema driver, who started from third on the grid, missed out on the chance to land a place on the podium in the customary opening lap free-for-all at Turn 1 for the second race in a row.
In race one he was punted out of contention from behind. In this afternoon's encounter he lost ground to second row partner and one-time championship leader Antonio Giovinazzi in the fight for track position.
The Italian - who was caught up in race one's Turn 1 melee - promptly set off in pursuit of Prema duo Felix Rosenqvist and Lance Stroll in a bid to rein in the Swedish race one winner and runaway points-leader.
That left Dennis in fourth place with Van Amersfoort's Charles Leclerc on his tail - with all three focused on the championship runner-up spot.
But, in the end, it was the Italian who made the best fist of the job muscling past Stroll at the second of two safety car restarts to chase after Rosenqvist, while Dennis - who lacked the pace to challenge the Canadian for the final podium place - remained stuck in fourth.
Likewise, Leclerc had little option other than to settle for fifth.
Thereafter all five raced line astern to the finish, Rosenqvist completing his second lights-to-flag win of the weekend ahead of Giovinazzi and Stroll.
The win - Rosenqvist's 11th of the season and fourth in a row - increases the Swede's lead over Giovinazzi in the championship standings to 65.5 points. Dennis remains 4th, 25.5 points adrift of Leclerc in third with four races remaining.