Dundee made just one forced change to the side from their last game, Max Anderson coming in for the injured Liam Fontaine. Jordan McGhee moved back in to defence.
Raith Rovers started well and pushed Dundee back, they forced Adam Legzins into a couple of saves, Dundee had a glorious chance when a great ball into the box and Ashcroft put it over the ball from six yards. Rovers scored on 22 minutes when good play from Lewis Vaughan and his neat turn before blasting home.
Dundee came back and Max Anderson had a good chance but the Rovers keeper saved with his knees. Dundee kept going and they defended well to keep score at half-time at 1 nil.
Second half and both team had chances but Dundee defended well and really looked in no danger of losing further goals.
It was a hard one to see out, they needed a goal to finish the tie. But in the end they got the job done. Dundee will play Kilmarnock or Ross County as both teams play their final game on Sunday.
Dundee: Legzdins, Elliott, McGhee, Ashcroft, Kerr, Byrne, Anderson, McMullan (McDaid 63), Adam (c) (Mullen 74), McGowan, Cummings (Sow 56) Unused Subs: Ferrie, Jakubiak, Afolabi, Marshall.