Stefan Johansen broke the deadlock before Chris Martin was shown a red card for an elbow on Mitchell Dijks.
A penalty just after the break from Tom Cairney made that task a good deal easier.
Substitute Cameron Jerome did pull one back for the hosts but Fulham had the final say late on with a goal from the excellent Floyd Ayite, keeping them in the thick of the battle for a top-six finish.
Norwich, who had beaten Reading 7-1 the previous week, were soon on the back foot this time around as Fulham took the lead from their first attack.
Martin's shot was blocked by the home defence but the ball bounced out nicely for Johansen to thump the ball into the bottom corner from some 20 yards.
After a bright start from the visitors Norwich gradually began to get a foothold in the game, but clear-cut chances were few and far between.
The hosts had to wait until the 44th minute for their first genuine opportunity, with goalkeeper Marcus Bettinelli needing to produce a brilliant reflex stop to keep out Timm Klose's header from a Wes Hoolahan corner.
Fulham had barely threatened themselves as the half wore on, and they shot themselves in the foot by getting themselves reduced to 10 men.
With just seconds to go until the interval, Martin went up with Dijks for a high ball and caught him with a flying elbow, with referee Andy Madley immediately brandishing the red card.
The Cottagers were furious - but they were soon smiling again in the opening minute of the second period.
Ryan Bennett, who replaced the injured Klose at half-time, was adjudged to have hauled back Thomas Kalas at a free-kick and Cairney blasted home to give the 10 men some breathing space.
Johansen then miskicked when in a good position - and from then on Norwich laid siege to the Fulham goal.
The visitors defended heroically however and it was not until the 77th minute that the Canaries managed to get a goal back.
A neat move ended with Alex Pritchard ended with substitute Jerome heading home to set up a grandstand finish.
Norwich had their chances but Fulham held firm and restored their two-goal advantage in the 89th minute when Ayite kept his cool in a tight situation in the six-yard box, side-stepping Ruddy and walking the ball into an empty net.