It was shaping up to be a repeat of the year before for the Roswell Hornets — another lopsided loss to the Mill Creek Hawks in the playoffs.

But the Hornets rallied in the second half and watched as the Hawks missed two field goals to take the lead — including as time expired — holding on for a 28-27 home win on Friday in the opening round of the Class 7A tournament.

In avenging a 41-17 second-round loss to the Hawks in last year’s 7A playoffs, the Hornets (8-2), a No. 2 seed from Region 5, will play No. 3 Norcross, which improved to 11-0 with a 47-20 win over South Forsyth on Friday.

The Hawks, a No. 3 seed from Region 8, finish 5-6 for their first losing season since 2006.

The Hornets trailed 27-7 when, on fourth-and-goal from the Mill Creek 3, Robbie Roper found Marquis Willis in the end zone with 4:23 remaining in the third quarter. That capped a 17-play drive that lasted 5:04 and kept their season alive.

On the Hawks’ ensuing drive, they fumbled three plays in and Roswell’s Evan Plunkett recovered, putting the Hornets on their own 47 with 3:01 left in the third. On their first play from scrimmage, Ryan Hill rushed 49 yards up the middle to the Mill Creek 4. Three plays later, Willis scored on a 1-yard run to make it 27-21 with 1:54 remaining.

Mill Creek’s next possession ended in a punt and the Hornets then used 10 plays to drive 68 yards, scoring on Ryan Stephens’ 3-yard run, bringing the score to its final margin with 8:33 remaining.

The Hawks then drove 58 yards to the Roswell 32, but kicker Brock Pellegrino — who in the first half drilled a 48-yard field goal — missed from 49 yards with 2:49 remaining.

Roswell would go three-and-out on their next drive and gave the ball back to the Hawks, who took over on the Roswell 45 with 1:33 and a timeout remaining. They could get no closer than the 28, which set up a 45-yarder for Pellegrino as the special teams unit lined up with the clock running. His kick sailed wide-right by just a yard as time expired, sending Ray Manus Stadium into a frenzy.

Roper finished 14 of 26 passing for 151 yards and two touchdowns, with Willis (eight catches for 53 yards and a touchdown) his leading receiver. Hill led the Hornets’ rushing attack with 82 yards on 15 carries.

In addition to his fumble recovery, Plunkett had one of two interceptions for the Hornets defense, with Harrison Duncan reeling in the other.

Going to waste for the Hawks was a dominant performance from senior running back Joshua Battle, who led all rushers with 230 yards on 26 carries — including 148 in the first half — and a touchdown.

Mill Creek 7 13 7 0 — 27

Roswell 0 7 14 7 — 28

M — Joshua Battle 41 run (Brock Pellegrino kick)

M — Pellegrino 18 FG

M — Donovan Journey 1 run (Pellegrino kick)

R — Michael Fitzgerald 15 pass from Robbie Roper (Caden Long kick)

M — Pellegrino 48 FG

M — Khamari Glover 12 pass from Hayden Clark (Pellegrino kick)

R — Marquis Willis 3 pass from Roper (Long kick)

R — Willis 2 run (Long kick)

R — Ryan Stephens 3 run (Long kick)