South African Impey beat Tiesj Benoot in a two-man sprint for the line after the pair had left their fellow escapees behind on the final climb of the 170.5km stage from Saint Etienne to Brioude.
It gave Impey his first solo stage win in the Tour, though he was part of Orica-GreenEdge's team time trial success in Nice in 2013 and a few days later became the first African to wear the yellow jersey in Montpellier.
"For me, from a Tour de France perspective, a stage win was something really missing," the Mitchelton-Scott rider said. "I made quite a few breakaways in the past few years and finally, today, I got the win on Bastille Day. It's fantastic."
That all happened some 16 minutes before the peloton crossed the line, having enjoyed a relatively sedate ride with the general classification contenders unthreatened and the sprint teams keeping their powder dry for Monday's stage 10 to Albi.
Romain Bardet, born and raised in Brioude and still resident just up the road, put in an attack on the final climb but was comfortably closed down by Geraint Thomas' Team Ineos and they rolled into town together.
That kept Deceuninck-Quick-Step's Alaphilippe in the yellow jersey, 23 seconds ahead of Trek-Segafredo's Giulio Ciccone and 53 seconds ahead of fellow Frenchman Thibaut Pinot of Groupama-FDJ.
Defending champion Thomas remains in fifth place overall, 72 seconds off yellow.
This was always pegged as a stage for a breakaway, and a powerful 15-man group including Team Sunweb's Nicolas Roche, EF Education First's Simon Clarke and Bora-Hansgrohe's Lukas Postlberger was quick to form as the peloton left Saint Etienne, building a lead of more than 10 minutes.
The first gaps in the break appeared when Postlberger attacked 40km from home, with the Austrian pulling almost a minute clear before counter-attacks began to shed riders.
Roche was part of a seven-man group that reeled in Postlberger on the Cote de Saint-Just, and the Irishman then launched another attack that only Lotto-Soudal's Benoot and Adam Yates' team-mate Impey could follow before they left Roche behind on the final approach to Brioude.
Roche had to settle for sixth place on the day, 14 seconds after Impey.
"They were killing me on the flats," the 35-year-old said. "There were a lot of big engines today. Even though we had some margin, the pace was high all day long.
"With about 25km to go there were the first attacks and the group got smaller, it was there the pace was really intense. I tried to make the most of the climb but Benoot was really strong and then Daryl Impey came from nowhere into the last kilometre.
"When I saw him, I thought, 'Oh wow, now it's going to be complicated' because I know how good of a bike rider he is on this terrain."