St Mirren picked up their first Scottish Premier League win of the season as Dundee endured a frustrating day at Dens Park.
Kenny McLean's stunning long-range strike put St Mirren ahead six minutes before the interval.
Ryan Conroy struck the frame of the visitors' goal as Dundee pressed for a leveller.
Sam Parkin's composed finish doubled the Buddies' lead and the hosts could not recover.
The bulk of the near-6,000 crowd turned up hoping for a first Dundee win since their return to the top flight but it was the travelling fans from Paisley who went home celebrating three points.
Dundee goalkeeper Rab Douglas was brought into action early on with a save to deny McLean.
Former Dundee United striker Steven Thompson flashed a volley over and then headed too high as St Mirren continued to exert pressure.
And Danny Lennon's side made the breakthrough when McLean picked up the ball 35 yards out and arrowed a drive into the net.
The hosts tried to respond and Conroy's 25-yard attempt beat Craig Samson only to rebound wide off the post.
Thompson was booked early in the second half following a challenge on Iain Davidson and the striker escaped a second yellow card after another foul, this time on Kyle Benedictus, moments later.
Mark Stewart's shot was well saved at point-blank range by Samson and Dundee's disappointment continued when Davidson fired over.
Stewart then went to ground in the box following a challenge by McLean but no penalty was forthcoming and the home side's frustration was compounded as St Mirren went up the park to score their second.
Dougie Imrie's cross from wide on the left was controlled by Parkin and the striker had all the time he needed to control the ball and place it low past Douglas for his first Buddies goal.
A header by Stewart cleared the bar and John Baird was also guilty of a glaring miss when his attempted lob missed the target.
In between those two misses, Davidson did find the net but Davidson's effort was ruled offside and Dundee will hope to break their SPL duck in next weekend's derby match with United.