The Prema Powerteam driver led 24 of the 28 laps only to drop rapidly down the order to 23rd by the finish after a damaged front trackrod sustained earlier in the race finally gave way.
By mid-distance Dennis had pulled out a 1.3s gap on Antonio Giovinazzi in second but over the following eight laps that came down to just over a tenth as he struggled to steer his way around the tight street circuit.
But on lap 25 his long-running battle to keep the tenacious Italian at bay ended in defeat when he ran wide on the exit from the Foch chicane.
Further attempts to fend off his pursuers and retain a points-paying place proved equally futile as his steering problem worsened. By lap 26 he was down to fourth and then eighth next time around before plummeting to 23rd on the final lap.
Meanwhile Giovinazzi continued on his way to take his second win of the season a comfortable 1.9s clear of Maximilian Gunther who spent virtually the entire race defending his position from third-placed Charles Leclerc.
It was Givovinazzi's ninth podium finish of the season and Gunther's first.
"That was hard to take," said Dennis. "To come so close and for that to happen was gutting to say the least. But these things happen and all you can do is move on.
"Still, to end the weekend with three pole positions, two wins and two fastest lap wasn't too bad."