Steve Aponavicius kicked four field goals for Boston College (8-4, 5-3 Atlantic Coast Conference). But the standout senior was wide right on a 31-yarder, ruining what had been a perfect season. Aponavicius made 37 straight conversions and was 12-for-12 on field goal tries before the third-quarter miss.
He did, however, secure the victory with a 42-yard field goal with 3:59 left — the Eagles' only points of the second half.
Maryland used a 28-yard touchdown pass from Jamarr Robinson to Torrey Smith to close the lead to 19-17 with 1:34 to go, but Boston College recovered the onside kick.
Harris carried 41 times in his seventh 100-yard game of the year. Next up for the Eagles: An invitation to a bowl game for the 11th consecutive season.
The Terrapins (2-10, 1-7) finished with seven straight losses and a school-record 10 defeats. The skid has raised questions about the job security of coach Ralph Friedgen, who has two years left on a contract that pays him $2 million annually.
Maryland was penalized eight times for 65 yards and managed only 61 yards rushing.
Aponavicius kicked three field goals in the first half, including two in the final 4 minutes, to help Boston College take a 16-10 lead.
Starting at quarterback for Maryland after being sidelined for two weeks with a knee injury, senior Chris Turner began his final college game by directing a 66-yard drive that produced a field goal.
But Turner was roughed up on the next two possessions, failed to get a first down and was replaced by Robinson. Turner did, however, play most of the second half and finished 11-for-17 for 101 yards.
The Eagles gained 119 yards in the first quarter in going up 10-3. After Shinskie and Colin Larmond hooked up on a third-and-17 for a 66-yard touchdown — BC's longest pass play of the season — Aponavicius kicked a field goal on BC's next drive.
Maryland pulled even behind Robinson, who went 4-for-4 for 50 yards in a march that ended with a 3-yard touchdown run by Da'Rel Scott.