Marcus Leak scored on receptions of 10 and 44 yards for the Terrapins (2-0), who overcame six turnovers, including a pair of interceptions that stopped promising drives.
USF (1-1) lost quarterback Mike White with an arm injury on the first play of the game. Backup Steven Bench scored on a 17-yard run and linebacker Auggie Sanchez scored on a 21-yard fumble return for the Bulls, who led 17-14 at halftime.
Maryland's defense limited Marlon Mack, who began the day as the nation's leading rusher, to 73 yards on 22 carries.
Mack ran for 275 yards and four TDs, helping USF overcome an early 11-point deficit to beat Western Carolina in the Bulls opener. The true freshman who scored on runs of 62, 60 and 56 yards in the opener found the going much tougher against a defensive front primed to slow down the 6-foot, 195-pound blend of power and speed.
The USF running back had a couple of nice runs for 15 and 19 yards, but averaged just 3.3 yards per carry after gaining nearly 12 per attempt in his debut last week.
Brown threw for 111 yards, no touchdowns and one interception in Maryland's season-opening rout of James Madison. He was much more effective Saturday, completing 17 of 28 passes for 201 yards. He also was intercepted on the Terps' opening series, the first of four first-half turnovers that threatened his team's chances of winning, and threw a third-quarter pick that stopped a drive deep in USF territory.
USF lost White when he was hit after throwing 12 yards to Sean Price on the first play of the game. Bench started two games and appeared in seven overall a year ago, but didn't play nearly as well as he did Saturday in guiding the Bulls to his touchdown and a 35-yard field goal that put the Bulls up 17-14.
Bench finished 14 of 36 for 162 yards. He was sacked twice and threw the late interception that helped Maryland stay in control in the closing minutes.
Stefon Diggs had seven receptions for 50 yards for the Terrapins. Leak had three receptions for a team-leading 72 yards.