After an early James Maloney penalty goal, Kenny-Dowall scored the first try of the match when Blake Ferguson batted a kick back and the Kiwi winger slid his way over.
In a first half punctuated by dropped ball from both sides, the Roosters frequently took the ball to the edges.
It was a tactic that worked with some success, but the Roosters' poor handling cost them.
Tim Lafai notched up the Dogs' first points in the 28th minute when he found his way through a staggered Roosters defensive line after a Brett Morris break from a Sam Kasiano offload.
Lafai missed a gettable conversion for the halftime score of 8-4.
A controversial Kane Evans try in the 62nd minute, in which there was uncertainty over whether the interchange prop grounded the Steeden short of the line or not, put the Roosters ahead 12-4.
Referee Matt Cecchin who was inches from the ball ruled a try, a decision upheld by the video referee.
A brilliant Evans offload two minutes later put Tuivasa-Sheck in the clear and he raced around his opposing fullback Brett Morris to score and put the Roosters further ahead 20-4.
Kenny-Dowall crossed for his second try out wide in the 65th minute, before Cordner surged over for a 73rd-minute four-pointer.
Kenny-Dowall added his third with three minutes to play.
Curtis Rona's 80th-minute try, his 23rd for the season, equalled the Bulldogs' season tryscoring record alongside Ben Barba and Nigel Vagana.
The Roosters will play Brisbane at Suncorp Stadium next Friday for a spot in the grand final.
Roosters coach Trent Robinson was pleased with the way his side withstood the early Bulldogs onslaught.
"I thought the Bulldogs made us uncomfortable, and it was hard to get metres, they were dragging us back. It was hard to get the job tonight, but the boys stuck on task," Robinson said.
"It wasn't a clean game, there was lots of errors, but there was a lot of guys fighting for a win there from both teams.
"The boys wanted to make it (last week's loss right).
Robinson praised the efforts of Napa, Cordner and Kenny Dowall.
"I thought Shaun had a great game tonight," Robinson said.
Evans said post-game he got the ball down and Robinson claimed he was happy with the adjudication system that requires the onfield referee to make a decision.
"You need to have conviction as a ref," he said.
Hasler said it "probably" wasn't a try.
But took aim at his side's poor handling.
"We were really poor tonight with the ball," Hasler said.
"You don't even have to know anything about stats to do with the game, but to come up with 18 from 30 (completions) on one of the biggest nights of the year was just really disappointing for the side and for the fans. So we really didn't give ourselves much chance to do anything."
- AAP