Spencer's late strike crowned a remarkable recovery after the home side had been four goals up at half-time with victory looking guaranteed. The visitors were on the rack after Vale hit them with a devastating four- goal blast in 21 first-half minutes.
There was little to suggest what was in store before the floodgates opened after Dean Glover steered home from Jan Jansson's 24th-minute corner.
Steve Guppy began to terrorise the Rangers defence and his cross from the left was headed in at the far post by Lee Mills in the 35th minute.
Even better followed for Vale when Guppy laid Tony Naylor's pass into the path of Jansson, who drove the ball past a shell-shocked Tony Roberts.
Vale's fourth and, as it turned out, final goal followed on the stroke of half-time when Jansson's inswinging corner was headed into his own net by Matthew Brazier.
It looked all over for Rangers with only half of the game gone, but they were given a glimmer of hope when Vale debutant Jermaine Holwyn scored the second own goal of the afternoon in the 66th minute. And the visitors earned an incredible point with three goals in the last five minutes, beginning with an outstanding volley by substitute Andy Impey.
Paul Murray chipped a third two minutes from time and Spencer crashed home an injury-time equaliser after Paul Musselwhite had beaten out an effort from substitute Daniele Dichio.
Thirteen years ago QPR drew 5-5 at home with Newcastle after trailing 4-0 at half-time. Manager Stewart Houston said: "It was like heaven and hell. I told the players that if Vale could score four goals in 45 minutes so could we. I didn't really think we would but it was one hell of a game."
Goals: Glover (24) 1-0; Mills (35) 2-0; Jansson (41) 3-0; Brazier (og 45) 4-0; Holwyn (og 66) 4-1; Impey (85) 4-2; Murray (88) 4-3; Spencer (90) 4-4.
Port Vale: Musselwhite; Hill, Tankard, Jansson, Griffiths (Holwyn, 7), Glover, McCarthy, Porter, Mills, Naylor, Guppy. Substitutes not used: Bogie, Corden.
Queen's Park Rangers: Roberts; Graham (Maddix, 45), Brevett, Murray, McDonald, Ready, Spencer, Peacock, Hateley (Dichio, 61), Brazier (Impey, 61), Sinclair.
Referee: R Poulain (Huddersfield).