Roberto Donadoni's men have been flirting with the relegation zone, and needing a big result they raced into a two-goal lead after just 12 minutes through McDonald Mariga and Sergio Floccari.
The shell-shocked Lazio eventually settled and hit back through Lionel Scaloni's deflected strike, but Parma raised themselves again in the second half.
The floodlights went on the blink in the second half, causing a five-minute delay shortly after the hour mark, but Parma did not lose their momentum and ex-Lazio striker Floccari settled the contest with his second of the game after turning in Sebastian Giovinco's set piece.
Giovinco was the star of the show for Parma, turning in a scintillating performance which helped lift the Gialloblu from 17th to 13th in the Serie A standings.
Lazio still hold third place and a Champions League spot for next season, but both Napoli and Udinese could yet leapfrog them when they play their matches on Sunday.
The visitors' best-laid plans for the match were rendered useless immediately, with Parma racing in front.
Floccari's header was saved at close range by Federico Marchetti, but Mariga was calmness personified to place the rebound.
And Gabriel Paletta's misdirected shot turned into the perfect assist six minutes later as Floccari nodded low into the near post.
It took Lazio some time to work their way back into the game and even when they did, Giovinco made chances from very little on his own up front, and kept Marchetti on his toes.
Lazio shuffled after an injury to Andre Dias after 15 minutes, bringing on Scaloni and switching to a back three, and they went close when Stefano Mauri got his head to Cristian Ledesma's set piece, but he needed more power behind his effort to trouble the assured Antonio Mirante.
When Mirante was beaten it took a wicked deflection on Scaloni's shot to wrongfoot him, but it gave Lazio a way back into the game going into the interval.
Daniele Galloppa could have restored the two-goal cushion with a firmer header on the stroke of half time, while Massimo Gobbi's deflected cross was goalbound until Marchetti deftly tipped it around the corner.
Lazio's best chance of levelling the contest came through Libor Kozak after the floodlight delay. His header from a corner was aimed into the ground, but bounced over the top with Mirante out of reach.
And three minutes later Floccari sidefooted Giovinco's cross in off the post and put the match beyond Lazio's grasp.
Giovinco came close to getting the goal his own performance had merited, but having run from the touchline on halfway and turned Scaloni inside and out, his shot was saved by Marchetti.
It made little difference to a crucial result for his side, but left Lazio manager Edoardo Reja with a headache as he tries to generate fresh momentum for his side going into the last games of the campaign.