UNIVERSITY PARK, Pa. — After a deep ball bounced off his hands, KJ Hamler pulled Sean Clifford aside and told his quarterback he owed him one.

It didn't take long for Hamler to make it up to him.

The speedy wideout burned the Michigan secondary two quarters later and hauled in a perfectly thrown 53-yard touchdown pass to help propel No. 7 Penn State to a 28-21 win over No. 16 Michigan on Saturday.

Get the news delivered to your inbox: Sign up for our BuckeyeXtra newsletter

Clifford wasn't surprised to see the nearest Michigan defender nearly 10 yards behind Hamler, who finished with six catches for 108 yards.

"I know KJ's fast enough to get to that weakness in their defense every single time," Clifford said.

And the first-year starter is getting better at finding him down the field.

Clifford hit Hamler on a 25-yard pass to start the scoring, hooked up with tight end Pat Freiermuth for a 17-yard touchdown and ran for a 1-yard score to pace Penn State's offense.

Hamler also had a 100-yard kickoff return to start the second half called back on a holding penalty. That would've come in handy as Penn State's offense went cold for much of the second half.

The Wolverines battled back from a 21-7 halftime deficit and with just over two minutes to play, had a chance to tie the game on fourth-and-goal from Penn State's 3. But Michigan wideout Ronnie Bell dropped a potential tying touchdown with Penn State safety Lamont Wade playing tight coverage.

"That stop was huge," Penn State coach James Franklin said.

The Nittany Lions took control of the game early. Clifford hooked up with Jahan Dotson for 37 yards to set up the scoring toss to Freiermuth who beat Khaleke Hudson in coverage.

Penn State went up 14-0 on its next drive when Clifford scored on a 1-yard run made easier by a 44-yard rush from Ricky Slade. It got easier when back-to-back Michigan offside penalties moved the ball to the 1.

Tariq Castro-Fields intercepted Shea Patterson's screen pass midway through the second quarter and Clifford arced his second touchdown pass to Hamler five plays later to make it 21-0.

The Wolverines cut Penn State's lead to 21-7 with an eight-play drive that burned 4:27 before halftime. It ended with Zach Charbonnet beating Penn State defenders to the end zone on a 12-yard run.

Charbonnet added another 12-yard run with 1:05 left in the third to make it 21-14. Patterson, who completed 24 of 41 passes for 276 yards, plunged in from a yard out — barely — to cap the scoring in the fourth.