The 35-year-old midfielder, whose contract is not being renewed, equalised for the hosts just before the interval with a deflected shot from outside the box and then laid on what proved to be the winner for Josh Murphy midway through the second period.
Leeds had threatened to ruin Hoolahan's big day when Kalvin Phillips opened the scoring after 37 minutes with a spectacular strike - but they rarely threatened after that as City won the battle of two mid-table sides with nothing to play for.
There was a great atmosphere at Carrow Road, with home fans coming along in big numbers to witness the popular Irishman's 352nd and final game for the club, and 2,000 plus Leeds fans present to provide their usual noisy support.
Sadly there was little for any of them to get excited about early on, with plenty of neat passing from both sides but precious little goalmouth action at either end.
City's player of the season James Maddison had the first real sight of goal midway through the half, but his first time effort was high and wide, and it appeared the game was drifting quietly towards half-time before two goals arrived in the space of seven minutes.
Leeds took the lead after 37 minutes in spectacular fashion when Phillips hooked the ball home on the turn from just inside the box after Angus Gunn had punched clear and Ronaldo Vieira's wild swing at the ball had fallen kindly for him.
The Canaries responded just before the break with a goal that fitted in perfectly with the script for the day. With the visitors caught short at the back, Hoolahan picked up a loose ball just inside the opposition half and ran at goal before unleashing a left-footed drive which took a big deflection off Pontus Jansson and hit both posts before nestling in the back of the net.
The effort appeared to be on target before the defender's intervention - so the Irishman had a goal on his final appearance for Norwich.
The second half got off to a far brighter start than the first with Ezgjan Alioski firing a first-time shot just over and Bailey Peacock-Farrell producing a fine one-handed save to deny Maddison at the other end.
Both sides were having a good go and Hoolahan almost set up a second for his side when he picked out Maddison in the box, only for a good block to thwart him. Maddison then shot straight at Peacock-Farrell when well placed with Samuel Saiz testing Gunn from long range.
A goal was coming and it finally arrived in the 69th minute. Hoolahan added an assist to his goal by finding Murphy just inside the box and the winger fired in a powerful shot which appeared to go straight through the Leeds keeper.
Mario Vrancic went close to stretching City's lead with a rising drive that only just missed the angle of post and bar before Hoolahan made an emotional exit in the 85th minute, to be replaced by fit-again Tom Trybull.
Leeds boss Paul Heckingbottom was disappointed with his side's performance, especially after the break.
"I didn't enjoy the game at all," he said. "We said beforehand that what with all was going on we didn't want it to be like a testimonial - but that's what it felt like. Both sides spent a lot of time playing in front of each other and there was not a lot of fire on show. The referee didn't help either by blowing his whistle all the time.
"I thought the game was there for the taking and we did okay in the first half and got a good goal - but then we were guilty of bad game management by letting them back into it just before half-time with a deflected shot.
"We had the momentum with us at that stage - but it changed in the second half.
"You need character and drive in your side to come through games like this - but that is something the team are lacking as a group. I am sure the stats will show we had plenty of possession - but I don't think we won enough of the 50/50 battles out there.
"It's something I need to address and the hard work starts now."