Mobido Diakite's own goal put Novara in front but Antonio Candreva equalised immediately after as third-placed Lazio recovered their composure, and Mascara's excellent effort regained a lead for the hosts which they held until the final whistle for only their sixth win of the season.
"I saw the referee and the linesman go back towards middle of the pitch," said the Lazio manager Edy Reja of a disallowed Libor Kozak strike with the score at 1-1.
"I would like to know who decided to rule out Kozak's goal, if only to know what happened, given that I don't understand.
"Everything's going wrong for us."
Roma, in seventh, missed the chance to close the gap on local rivals Lazio by losing 2-1 at home to Fiorentina, who moved six points clear of the drop zone.
Relegation battling Novara, who went into this game 11 points adrift of safety, showed little respect for Lazio as they gave as good as they got at the Stadio Silvio Piola, and the result leaves Reja's side with even more work to do if they are to hold onto third position.
Both sides created chances in the opening half and the closest the game came to a goal prior to the scoring being opened was when Novara defender Andrea Lisuzzo tested Lazio goalkeeper Federico Marchetti with a free-kick.
Even though Lazio had on the balance of things seemed the likelier to take the lead with the number and quality of chances they had created, it was Novara who went in front in the 35th minute.
Andrea Mazzarani's cross from the right was turned into his own net by Diakite, but the lead lasted less than two minutes: Candreva was the player most switched on when Stefano Mauri's long-range shot was parried by Alberto Fontana, and the midfielder nodded the rebound past the Novara goalkeeper.
Striker Kozak then passed up a good chance to put the away side in front when he was laid on by Tommaso Rocchi.
Right on the stroke of half-time Lorik Cana missed a gilt-edged opportunity when his well-timed and unmarked run into the area met Cristian Ledesma's delivery. The Albanian headed wide however.
Novara came out strong in the second half and troubled their opponents with Takayuki Morimoto lively, and Lazio thought they had taken the lead on 65 minutes when Kozak poked the ball home.
The away side celebrated and the home team remonstrated with the linesman, who flagged extremely late to notify the referee that the Lazio man had in fact been offside.
Marchetti produced a near-post save from Marco Rigoni and Mauri blasted over at the other end, where Toscano Alfaro had a header tipped over too as each side pressed.
The winner came in the 79th minute when Lazio substitute Matuzalem, barely on the pitch for more than two minutes, gave away a free-kick on the edge of the area from which Mascara curled the ball in off the upright.
Andre Dias had a header saved by Fontana as Lazio tried to salvage a point, but the result went the way of the team least expected to triumph - yet one fully deserving of the three points.
- Related links