Heights took the lead on an 88-yard touchdown pass on third-and-12 from Cameron Kasel to Daley Gunter with 7:23 left in the first quarter.
Emporia answered with a 71-yard touchdown drive capped by an 11-yard run by quarterback Taylor Euler to make it 7-7 with 38.4 seconds left in the first quarter.
After an interception, Wichita Heights regained the lead on a 22-yard touchdown pass from Kasel to Jeff Evans to make it 14-7 with 3:22 left in the first half.
Wichita Heights got into the end zone again on Kasel's third touchdown pass, this time a 3-yarder to Vince Santucci with 48.4 seconds left in the first half.
Emporia High nudged closer with 5:02 left in the game when Euler hit Mark Kolmer on a shovel pass for a 10-yard touchdown to make it 21-14.
The Spartans had a chance to tie it when Bill Malone caught a 25-yard TD pass from Euler with 1:11 left, but Robert Keisler missed the extra point to make it 21-20 Wichita Heights.