But the 2017 champion suffered a heavy crash 187km into the stage and he was forced to retire from the event, having hurt his back and left shoulder.
Afterwards, Price's lead was over two minutes but he eventually only won by 1m12s over Husqvarna's Pablo Quintanilla.
Quintanilla's teammate Andrew Short was third ahead of fellow American Ricky Brabec, who extended his overall lead thanks to Honda teammates Kevin Benavides and Jose Ignacio Cornejo, who started the day second and third, struggling.
Benavides and Cornejo, who opened the road, were 12 and 14 minutes off the pace respectively and dropped behind Price, the latter also behind Quintanilla, in the general rankings.
Matthias Walkner (KTM) and Joan Barreda (Honda) were not in contention for the stage win and are now both more than 30 minutes behind Brabec in sixth and seventh overall.
Rookie Dutu tops quads but Giroud wins stage
Dakar newcomer Romain Dutu set the pace in the quad class, beating Alexandre Giroud in a stage-long duel where the duo finished 47 seconds apart.
However Dutu, riding for SMX Racing, retired from the competition in Stage 3 and he only continued the rally in the Dakar Experience category, which excludes him from the official results of the quad class.
As a result, it was Giroud celebrating the stage win, with Ignacio Casale taking second, 1m29s adrift.
With Giovanni Enrico losing 12 minutes, Casale extended his overall lead to 31m37s.