The Sharks took an 18-0 half-time lead with Vincent Silulu picking up where he left off a week earlier, scoring two tries and Ryan Wilson landing three of four goal attempts.
Norths fought back with more bite after the break, scoring twice in the first 10 minutes of the second half to bring the scores back to 18-12, before the Sharks regained control and extended the lead to 30-12.
Each side scored again before Norths registered the final try of the game, but it was too little too late.
Best players for the Sharks included Andrew Jeffrey, Wilson and Regy Manu.
The Sharks play Fremantle at Ken Allen Reserve tomorrow. A supporters� bus leaves Franklin Offshore Sportsplex at 11am with seats $10 each.
Despite finishing top of the ladder, the Sharks reserves will play Joondalup for a spot in the grand final after losing 28-16 to South Perth, while third grade are through to the grand final after a 24-22 extra time win over the same opponent.
The under-18s lost 22-4 to South Perth and like the league side will face Fremantle for a grand final place.
The junior Sharks have the under-11s, 12s and 13s sides playing in grand finals on Sunday, with games to start from 9am at George Burnett Park, Karawara.