Danny Mullen continued his hot scoring form as Dundee moved above St Johnstone in the Premiership table with a 1-0 win at Dens Park.
The Dark Blues moved out of the bottom two for the first time since September as Mullen netted his third goal in three games.
For Saints, it was a fifth goalless match in their last eight as their struggles in front of goal continued.
Coming into the game on the back of an impressive 3-0 victory over Motherwell, the hosts were buzzing around the visitors.
And quickly Luke McCowan brought a low save out of Zander Clark within seven minutes as he continued his good form.
On 21 minutes, St Johnstone should have been in front. The home defence was split open and Chris Kane only had to feed Cammy MacPherson to set the midfielder through on goal.
The pass was delayed, however, and MacPherson was flagged offside.
The opening period had been end-to-end but the game had to be jolted out of a mid-half lull.
That jolt came from McCowan as he lined up a shot from 20 yards that curled off the far post with Clark beaten.
Then came the opening goal on 39 minutes. And it was a goal from a striker full of confidence.
Mullen had scored in each of his last two appearances and made it three from three with a fine finish.
Fed by Paul McGowan the striker swivelled 15 yards out before planting a low effort beyond Clark.
Toothless Saints, happy Dees
After the break, Clark had to be on his toes to deny Mullen a second as he tipped a header bound for the top corner over the bar.
Saints had had plenty of the game but their struggles in front of goal continued as they failed to open up the Dundee rearguard.
On the hourmark that showed as Eetu Vertainen sped away on the counter-attack – a better ball and Kane was in behind but the pass was overhit.
Vertainen went closer five minutes later, flicking a Shaun Rooney cross goalwards only to see Adam Legzdins beat the ball out.
At the other end, Dundee were trying to finish the game off.
First a sitter for Paul McMullan went begging. Teed up by substitute Leigh Griffiths, the winger sent his effort over the bar from 12 yards.
Moments later Griffiths played through Mullen who looked certain to score only for Jamie McCart to make a saving tackle.
One would do, though, as Dundee earned a third clean sheet in four matches and saw off St Johnstone for the first time in eight contests.
Dundee: Legzdins, Kerr, Fontaine, Sweeney, Marshall, Adam, McGowan (Griffiths 76), Anderson, McMullan, McCowan, Mullen.
Subs not used: Lawlor, Elliott, Panter, Cummings, Lamb.
St Johnstone: Clark, Rooney, McCart, Gordon, Booth, Davidson (Craig 46), MacPherson, Crawford, O’Halloran, Vertainen (Solomon-Otabor 68), Kane.
Subs not used: Parish, Brown, Devine, Dendoncker, Ambrose.
Referee: Andrew Dallas
Attendance: 5,196 (683 away)