DURHAM, N.C. (AP) -- The shot that would have beaten No. 8 Duke hung on the rim, bouncing once, then twice.
''It felt like an eternity,'' freshman Jabari Parker said.
Once it fell harmlessly off the rim, the Blue Devils finally exhaled.
Parker scored 23 points and blocked one of Maryland's two shots in the final 10 seconds of the Blue Devils' 69-67 victory Saturday night.
''That was vintage Cameron, man,'' Duke coach Mike Krzyzewski said. ''That was one for the ages.''
Rodney Hood and Rasheed Sulaimon added 11 points each for the Blue Devils (20-5, 9-3 Atlantic Coast Conference), who won their eighth in nine games and started a run of four games in eight nights by giving the Terrapins a hard-to-swallow loss in their last scheduled visit to Cameron Indoor Stadium.
The ACC's top 3-point shooting team was just 5 of 24 from long range and shot 23 percent in the second half. Duke led by double figures for all of about 15 seconds before scratching its way to the 20-win mark for the 18th straight year.
''Sometimes the basketball gods fool around with you when you're not shooting, and they say, 'You've got to figure out another way to win this thing,''' Krzyzewski said. ''Our effort those last 20 seconds was spectacular.''
Jake Layman scored 18 points for Maryland (14-12, 6-7) and Dez Wells - who just about single-handedly beat the Blue Devils by scoring 30 in last year's ACC quarterfinals - had all 17 of his points in the second half.
Charles Mitchell finished with 12 for the Terrapins, but missed two hook shots in the final 10 seconds that would have given them the lead.
''I don't know how Charles' shot didn't go in,'' Maryland coach Mark Turgeon said. ''Call the Duke gods.''
Parker gave Duke the lead for good when his authoritative, one-handed dunk over Jonathan Graham made it 68-67 with about 1:15 remaining.
Wells missed a jumper over Hood with about 50 seconds left. Duke milked the shot clock before Amile Jefferson missed a jumper that failed to draw iron, giving the Terrapins the ball.
The teams traded timeouts with 18.8 seconds left before Maryland worked the ball inside to Mitchell. He had one hook shot blocked by Parker with about 7 seconds left, and another bounced twice on the rim but would not fall through.
''The guys kind of willed their way to the basket,'' Turgeon said. ''It just didn't drop.''
Said Jefferson: ''You just hold your breath.''
The rebound made its way to Jefferson, who was fouled with 1.1 seconds left and hit a free throw to end the scoring.
Wells couldn't get off an 80-foot heave before the buzzer, sealing Duke's 30th straight victory at Cameron. That tied Stephen F. Austin for the longest active home streak in the country.
Duke missed 17 of its first 19 shots in the second half before Jefferson banked one in to tie it at 54 with 6 1/2 minutes left.
About 2 minutes earlier, Wells capped a 12-1 run with a layup that gave the Terrapins their first lead at 54-52, and it was a one-possession game the rest of the way.
The Big Ten-bound Terps got quite an early earful from the Cameron Crazies, who taunted Turgeon with their classic ''Sweat, Gary, Sweat'' chant that had been mothballed since Gary Williams retired three years ago.
But once Maryland started chipping into - and eventually completely erasing - the Duke lead, those jeers stopped.
''I'm going to miss (the Duke rivalry) like crazy,'' Turgeon said. ''We played tonight for Maryland. ... We played for all our former coaches, former players ... because we knew we weren't getting them at our place. This was our one chance.''
Jefferson finished with 12 rebounds for the Blue Devils, who have a busy week coming up because their rivalry game with North Carolina was postponed due to a nasty winter storm.
That game was rescheduled for Feb. 20 - two nights after they visit Georgia Tech, and two nights before they host No. 1 Syracuse.
''This is a fun time for us and this should really be a good time to see where our team is at, to evaluate it and to get better,'' Jefferson said.
That the Blue Devils missed 11 of their first 13 attempts from 3-point range could have been attributed to rust for a team that entered hitting 3s at a league-best 42 percent clip.
But they also were outrebounded 43-36 by the Terps and certainly looked ripe for an upset.
They were unable to take advantage of Maryland's drought early in the half, instead matching the Terps missed shot for missed shot. Maryland went 5 minutes between buckets early in the second half.
Duke finished at 33 percent from the field while Maryland shot 41.9 percent.
''We beat a real gutty team today,'' Krzyzewski said, ''and we were a gutty team.''
Follow Joedy McCreary on Twitter at https://twitter.com/joedyap