Nigerian midfielder Alex Iwobi gave Fulham the lead in the 20th minute, but it was not enough to seal victory for the London side.
Everything appeared to be going to plan for the hosts when Alex Iwobi collected Kenny Tete’s pass and – with the visitors’ defence retreating – curled a brilliant left-footed strike into the far corner.
But Wolves responded magnificently and equalised with a wonderful effort of their own, Cunha controlling Mario Lemina’s long ball with his first touch before lifting a delicate finish over Bernd Leno.
O’Neil’s side completed the turnaround eight minutes into the second half when Joao Gomes drilled a powerful shot past Leno from Cunha’s pass.
The Brazilian forward curled a sumptuous shot into the top corner for his second of the game, before Goncalo Guedes added a late fourth on the counter-attack.
Both teams struggled for fluency early on at a wet and windy Craven Cottage, but former Wolves striker Raul Jimenez should have given Fulham the lead three minutes before Iwobi’s opener when he turned Antonee Robinson’s low cross against the crossbar from point-blank range.
Second-half substitute Harry Wilson was unfortunate to see a curling shot strike the top of the crossbar with the score at 2-1, but Cunha’s second of the contest and Guedes’ stoppage-time drive brought Fulham’s winning Premier League run to a shuddering halt.
Things were looking bleak for O’Neil after his side’s shambolic display at Brentford in October, but a run of four straight games without defeat – not to mention back-to-back wins for the first time since February – suggests his team are gradually starting to gather momentum.
O’Neil’s cause in west London was not helped by the absence of Santiago Bueno and Craig Dawson through injury and illness respectively, meaning Lemina had to deputise alongside Nelson Semedo, Toti and Rayan Ait-Nouri in a makeshift back four.
Ait-Nouri did not cover himself in glory when he lost possession cheaply in the build-up to Iwobi’s fine finish, but other than that Wolves coped well without their first-choice defenders and, in Cunha, they have a player in a rich vein of form.
The Brazilian has now been involved in 26 goals in his past 29 league starts, with 17 goals and nine assists.
He has also registered 13 top-flight away goals since the start of last season, second only to Erling Haaland’s tally of 17.
There were one or two nervy moments for Wolves in the second half as Ait-Nouri turned a low Robinson cross narrowly past his own post and Wilson rattled the woodwork, before Cunha and Guedes added gloss to the scoreline.
O’Neil celebrated enthusiastically in front of the away fans at full time and, with five consecutive games coming up against teams in the lower reaches of the table, his side will be confident of hauling themselves further away from danger before Christmas.
Fulham fall back down to earth
Fulham were aiming to win three successive top-flight games for the first time since January – but they were unable to build on their promising start at Craven Cottage.
They were the better side in the first half but were undone by a moment of magic from Cunha, who was able to stroll unchallenged into the Fulham penalty area to control Lemina’s ball and restore parity.
Jimenez’s first-half miss ultimately proved costly, the Mexican striker somehow failing to beat goalkeeper Jose Sa with the score still goalless.
Fulham boss Marco Silva made five substitutions in the space of 12 second-half minutes as his team chased the game – a move he would come to regret when Joachim Andersen was forced off with an injury with the score at 2-1, forcing Fulham to play the rest of the contest with 10 men.
With games against Tottenham, Brighton, Arsenal and Liverpool coming up in the first half of December, Fulham fans may view this as a missed opportunity for their side.