DURHAM, N.C. -- 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 Marylands 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 ACCs top 3-point shooting team was just 5 of 24 from long range and shot 23 per cent 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 youre not shooting, and they say, Youve 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 years 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 dont know how Charles shot didnt 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 didnt 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 couldnt get off an 80-foot heave before the buzzer, sealing Dukes 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. "Im 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 werent 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 per cent 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 Marylands 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 per cent from the field while Maryland shot 41.9 per cent. "We beat a real gutty team today," Krzyzewski said, "and we were a gutty team." Cheap Air Jordan 1 For Sale . -- Canadas Justin Shin shot an 8-under 64 on Thursday on PGA Wests Nicklaus Tournament Course to take the first-round lead in the Web. Cheap Air Jordan 1 Free Shipping . This week they discuss the Philadelphia 76ers, Gregg Popovich, Royal and Ancient Golf Club and Bill Belichick. http://www.cheapairjordan1.com/ . In the last race before the Sochi Olympics, Bjoergen followed up her win in the 10-kilometre classical race on Saturday by beating World Cup sprint leader Denise Herrmann of Germany by 0.43 seconds for her fifth victory of the season. Discount Air Jordan 1 . Harris has played in six games since joining the Argos in 2012, completing 17-of-35 passes for 256 yards and one touchdown. Wholesale Air Jordan 1 China . -- Thirty years ago, the Detroit Pistons beat the Denver Nuggets 186-184 in triple overtime, a game that remains the highest scoring in NBA history. Formula One Racing on TSN Date Event ET Network Fri Mar 13 Australian GP Practice 1:25am TSN2 Sat Mar 14 Australian GP Qualifying 1:55am TSN Sun Mar 15 Australian Grand Prix 12:55am TSN Fri Mar 27 Malaysian GP Practice 1:55am TSN2 Sat Mar 28 Malaysian GP Qualifying 4:55am TSN Sun Mar 29 Malaysian Grand Prix 2:55am TSN Fri Apr 10 China GP Practice 1:55am TSN5 Sat Apr 11 China GP Qualifying 2:55am TSN Sun Apr 12 China Grand Prix 1:55am TSN Fri Apr 17 Bahrain GP Practice 10:55am TSN2 Sat Apr 18 Bahrain GP Qualifying 10:55am TSN2 Sun Apr 19 Bahrain Grand Prix 10:55am TSN2 Fri May 8 Spanish GP Practice 7:55am TSN2 Sat May 9 Spanish GP Qualifying 7:55am TSN Sun May 10 Spanish Grand Prix 7:55am TSN Thu May 21 Monaco GP Practice 7:55am TSN2 Sat May 23 Monaco GP Qualifying 7:55am TSN Sun May 24 Monaco Grand Prix 7:55am TSN Fri Jun 5 Canadian GP Practice 1:55pm TSN2 Sat Jun 6 Canadian GP Qualifying 12:55pm TSN Sun Jun 7 Canadian Grand Prix 1:55pm TSN Fri Jun 19 Austrain GP Practice 7:55am TSN2 Sat Jun 20 Austrian GP Qualifying 7:55am TSN Sun Jun 21 Austrian Grand Prix 7:55am TSN Fri Jul 3 British GP Practice 8:55am TSN2 Sat Jul 4 British GP Qualifying 7:55am TSN2 Sun Jul 5 British Grand Prix 7:55am TSN Fri Jul 17 German GP Practice 7:55am TSN2 Sat Jul 18 German GP Qualifying 7:55am TSN2 Sun Jul 19 German Grand Prix 7:55am TSN2 Fri Jul 24 Hungarian GP Practice 7:55am TSN2 Sat Jul 25 Hungarian GP Qualifying 7:55am TSN Sun Jul 26 Hungarian Grand Prix 7:55am TSN Fri Aug 21 Belgian GP Practice 7:55am TSN2 Sat Aug 22 Belgian GP Qualifying 7:55am TSN Sun Aug 23 Belgian Grand Prix 7:55am TSN Fri Sep 4 Italian GP Practice 7:55am TSN2 Sat Sep 5 Italian GP Qualifying 7:55am TSN Sun Sep 6 Italian Grand Prix 7:55am TSN Fri Sep 18 Singapore GP Practice 9:25am TSN2 Sat Sep 19 Singapore GP Qualifying 8:55am TSN Sun Sep 20 Singapore Grand Prix 7:55am TSN Fri Sep 25 Japanese GP Practice 12:55am TSN2 Sat Sep 26 Japanese GP Qualifying 1:55am TSN Sun Sep 27 Japanese Grand Prix 12:55am TSN Fri Oct 9 Russian GP Practice 6:55am TSN2 Sat Oct 10 Russian GP Qualifying 7:55am TSN Sun Oct 11 Russian Grand Prix 6:55am TSN Fri Oct 23 United States GP Practice 2:55pm TSN2 Sat Oct 24 United States GP Qualifying 1:55pm TSN Sun Oct 25 United States Grand Prix 12:55pm TSN Fri Oct 30 Mexican GP Practice 3:55pm TSN2 Sat Oct 31 Mexican GP Qualifying 2:55pm TSN Sun Nov 1 Mexican Grand Prix 1:55pm TSN3 Fri Nov 13 Brazilian GP Practice 10:55am TSN2 Sat Nov 14 Brazilian GP Qualifying 10:55am TSN Sun Nov 15 Brazilian Grand Prix 10:55am TSN Fri Nov 27 Abu Dhabi GP Practice 7:55am TSN2 Sat Nov 28 Abu Dhabi GP Qualifying 7:55am TSN Sun Nov 29 Abu Dhabi Grand Prix 7:55am TSN ' ' '