The giant NSW and Test back-rower has been a huge disappointment since his big-money move from Manly, but his moment of brilliance on the stroke of halftime to set up a Tim Lafai try proved to be the game's turning point.
The Bulldogs looked disjointed and well off the pace in an error-strewn opening period and Penrith took full advantage with well-deserved tries from Issac John and Josh Mansour in addition to a Luke Walsh penalty which more than cancelled out James Graham's early four-pointer.
But with less than a minute of the opening stanza remaining, Williams created a chance out of nothing on the halfway line when he used his size to barge past five Penrith tackles then offloaded to Mitch Brown.
Brown lobbed a hopeful kick forward and Lafai flopped over the line to give the hosts a huge lift, going in just 14-12 down despite being on the back foot for most of the half.
A stern Des Hasler team talk saw a much better display from his charges after the restart as Penrith struggled to match their earlier intensity.
Lafai added his second after hauling in a cut-out pass from Josh Morris in the 52nd minute with Hodkinson adding the extras before unheralded winger Mitch Brown then took his tally to 12 for the season just shy of the hour mark.
The former Cronulla and Wests Tigers wideman, whose previous best for a campaign was four, reacted brilliantly to get down Josh Reynolds' floated pass with one hand.
With their noses firmly in front Canterbury never looked like relinquishing their lead as their defence held firm to shut down David Simmons and Mansour.
And eight minutes from time Krisnan Inu iced the victory from close range before Hodkinson rumbled over from 20 metres just before the siren and then kicked his fourth goal to wrap up a comfortable victory.
The win locks away a finals spot for the Bulldogs.
BULLDOGS 34 (T Lafai 2 M Brown J Graham T Hodkinson K Inu tries T Hodkinson 5 goals) bt PENRITH 14 (I John J Mansour tries L Walsh 3 goals) at ANZ Stadium.
Referees: Gerard Sutton, Gavin Reynolds.
Crowd: 15,313 at ANZ Stadium.