John McGlynn’s side fell behind to a Oli Shaw penalty on the cusp of half-time at Rugby Park, but a second half goal from Ross Matthews saw them draw level before a late winner from teenage substitute Aaron Arnott set Rovers up for a cup final clash with Queen of the South.
Killie keeper Sam Walker pushed an early effort from Dario Zanatta on to the bar before Jamie MacDonald did well between the sticks at the other end to deny Daniel MacKay.
It looked like a half of few chances would end goalless until the 43rd minute when the home side scored from the spot.
Zanatta fouled Jason Naismith in the box and Shaw made no mistake from the resultant penalty.
Having lost 3-0 at the same venue just a week and a half ago Raith fought hard to make sure there was no repeat in the second 45 and got their just rewards.
Matthews picked up a loose ball in midfield and advanced to the edge of the Kilmarnock box and shot low to make the score 1-1 on 66 minutes.
With extra time looming Raith were handed a golden opportunity to win the match from the penalty spot after Ben Williamson was fouled by Charlie McArthur with just three minutes to go.
Captain Kyle Benedictus stepped forward to take the spot kick, his effort was saved by Walker but 18-year-old Arnott was first to the rebound which he crashed in off the bar to send Raith Rovers through to the final to defend their trophy.
Kilmarnock: Walker, Naismith (Hodson 76), Murray, Stokes (McArthur 45), Waters, Murray, Alston, Glass (McGinn 76), Armstrong (McKenzie 63), Shaw, MacKay (Burke 85) – subs not used – Hemming, Sanders, Burrell, McGowan.
Raith Rovers: MacDonald, Tumilty, Benedictus, Berra, Dick, Matthews, Stanton, Connolly (Ross 71), Williamson, Zanatta (Arnott 80), Varian (Poplatnik 45) – subs not used – Thomson, Musonda, Spencer, McKay, Mackie, Mitchell.
Referee: Grant Irvine