Cedar Hill (14-2) avenged last year's loss to Katy in the championship game and ended the Houston-area school's 31-game winning streak.
Katy (15-1) blew a 24-10 lead in the second half and missed a chance to join Southlake Carroll and Celina as the only Texas high schools with eight championships.
Lodge's decisive score was set up when Xavier Washington poked the ball away from Katy running back Kyle Porter. Kyle Goss picked up the loose ball before stumbling in the open field at the Katy 36, but Justin McMillan got Cedar Hill in the end zone anyway with a 3-yard pass to Lodge.
Porter's fumble was one of three big mistakes in the fourth quarter by normally steady Katy.
The first was a botched snap on a punt that led to a field goal to get Cedar Hill within 24-19. Lodge had earlier cut Katy's lead to eight with a 62-yard touchdown run on a direct snap to him.
After Lodge's go-ahead score and a 2-point conversion for a 27-24 lead, Katy's Tony Mullins fumbled the kickoff and Aaron Lewis recovered. Six plays later, Aca'Cedric Ware scored from the 4 for a 10-point lead with 3:17 remaining.
Lodge, the offensive player of the game, had 103 yards rushing on just three carries and five catches for 26 yards.
Cedar Hill, which won a second title seven years after its first, fumbled six times but lost just two. Katy lost two of its four fumbles.
Cedar Hill scored on its own fumble in the second quarter when Lodge ran 42 yards before dropping the ball. It bounced to teammate Denvre Daniels, who went the remaining 39 yards for the score.
Katy scored three touchdowns in less than 3 minutes to take a 21-10 halftime lead.
Rodney Anderson had a game-high 146 yards rushing and started Katy's three-touchdown spurt with a 66-yard run.
Another of Katy's three quick touchdowns came when Cedar Hill's Peter Lewis fumbled into the hands of JoVanni Stewart, who went 77 yards for the score.
Ware had 124 yards rushing for Cedar Hill.
Take ABC13 with you!
Download our free apps for iPhone, iPad and Android devices