Captain Grant Holt headed a dramatic stoppage-time winner as Norwich came from behind with a late double to beat Everton 2-1 at Carrow Road.
Substitute Kei Kamara scored his first goal in English football with six minutes left to cancel out Leon Osman's first-half header for Everton.
Chris Hughton's hard-working side were not finished yet, though, and secured a first Premier League win since 19 December when Holt headed in at the far post.
Defeat was, however, harsh on Everton, who had been the better side for long spells, with Marouane Fellaini central to all their attacking threat.
Hughton had deployed Holt and Luciano Becchio in attack, looking to arrest a run of just one goal in the last six which has left his men looking over their shoulders at the battle for survival.
Norwich created the first opening on five minutes.
Wes Hoolahan played Robert Snodgrass into the left side of the Everton penalty area, but his angled shot was blocked by Sylvain Distin as the ball looped up over the crossbar for a corner.
Everton then forced Norwich keeper Mark Bunn into action when he first palmed away a deflected cross from fit-again right-back Seamus Coleman and then had to be alert as Nikica Jelavic turned his marker to drill a low shot goalwards from 10 yards.
Both teams continued to press, but when Norwich midfielder Jonny Howson found space for a shot some 25 yards out, his goalbound effort cannoned off the back of team-mate Holt.
At the other end, Norwich centre-half Michael Turner threw himself in front of Fellaini's drive.
The Belgian was then involved in an altercation with Bradley Johnson after being caught on the knee by the Norwich midfielder, which was missed by referee Lee Mason - and he took retribution by barging Johnson over on the far touchline. That was seen and resulted in a free-kick as well as a stern talking to.
On 35 minutes, the ball broke for Holt at the edge of the Everton penalty area, but the Norwich captain could not get enough power on his shot, which was well saved by Tim Howard, making his 300th Everton appearance.
It was the visitors, though, who took the lead six minutes before half-time.
Left-back Leighton Baines floated the ball across the Norwich six-yard box, where it was missed by both Johnson and Sebastien Bassong, allowing an unmarked Osman to glance his header past Bunn.
The home side looked for a response at the start of the second half, but lacked enough width to really stretch the Everton defence.
Toffees midfielder Steven Pienaar got into the left side of the Norwich penalty area and pulled the ball back through the six-yard box, where any sort of touch would have put it into the net.
Hughton made a change on the hour, as Becchio was replaced by Kamara, on-loan from Major League Soccer club Sporting Kansas City.
The Sierra Leone international almost became an instant hero when he tried an acrobatic scissors-kick, but it lacked the power to test Howard.
Kamara headed wide as he was being tugged back by Coleman, but with Holt flagged offside, the free-kick went Everton's way.
At the other end, Darron Gibson floated an effort over from 20 yards.
Hughton looked to add some width to Norwich's attack as Anthony Pilkington replaced Hoolahan while Belgium forward Kevin Mirallas came on for Everton with 12 minutes left, as Jelavic made way.
Norwich had more tempo now and were level on 84 minutes.
Pilkington's run down the left saw the ball blocked behind for a corner.
Snodgrass' delivery picked out Kamara, and his downward header beat Howard as Carrow Road erupted.
The Canaries pressed for a dramatic winner, with Distin's superb block keeping out Holt's close-range effort.
However, there was still time for another chance, which the Norwich captain dispatched at the far post after a deep cross from Russell Martin had been nodded on by Bassong.
soon after with the game's first try.
Scrum-half Mike Phillips bamboozled the Italian half-backs with a kick over a ruck, giving Davies a chance for a try he did not waste.
Burton reduced the arrears with a 49th-minute penalty but Halfpenny made it 19-9 to the visitors with a long-range penalty of his own.
Wales took control as the game entered the final 20 minutes, when the home team were penalised at the scrum, as Castrogiovanni was sent to the sin-bin.
Cuthbert scampered over for his team's second try two minutes later after Davies created space with a dummy run - and when Halfpenny converted impeccably from out wide, the visitors had a commanding 17-point lead.
They rejected the opportunity to kick after being awarded a penalty inside the Italy 22, before Warburton came on for Ryan Jones.
James Hook came on for Biggar, then Scott Williams replaced Roberts with less than 10 minutes remaining.
The final replacement was made with six minutes remaining when Craig Mitchell replaced Adam Jones.
The rain had relented but Italy were unable to build up a head of steam. In fact Cuthbert would have come closest to a score in the latter stages of the game had he successfully collected an interception.