Justin Bibbs, center, led Virginia Teach with 18 points. (Michael Thomas Shroyer/USA Today Sports)

Just before the Virginia Tech men’s basketball team took hold of a 20-point lead over No. 5 Duke in the second half Saturday, images from opposite ends of the court at Cassell Coliseum told fans all they needed to know.

On one, Hokies senior guard Seth Allen gently tossed in a layup after a fast break that got maroon-and-orange-clad fans on their feet. On the other, Duke freshman Frank Jackson shrugged off forward Amile Jefferson and skulked toward the bench as Jefferson tried to offer some veteran advice.

Duke’s frustration was evident as the streaking Hokies steamrolled the Blue Devils, 89-75, in front of an announced crowd of 9,567 in both teams’ ACC opener. Duke’s leaders could only do so much in the absence of second-leading scorer Grayson Allen, who was indefinitely suspended Dec. 22, did not play Saturday and, Duke Coach Mike Krzyzewski said after the game, has been stripped of his captaincy.

“I really feel like the two teams played like they have been playing,” Krzyzewski said. “Virginia Tech has been playing really good basketball — continuity, good eight-man rotation, feed off one another . . . and we played like we’ve been playing. Without continuity.”

Virginia Tech (12-1) led from whistle to whistle against the perennial national-title contenders in notching its eighth consecutive win. It was the Hokies’ first victory over Duke (12-2) since February 2011 and was a moment of pride for Coach Buzz Williams’s team.

“A lot of us got under-recruited, so we get up for guys like that,” said senior forward Zach LeDay, who had 11 points and seven rebounds. “It’s really just us coming out, just wanting to prove that we’re better. Prove that we’re one of the top dogs in the ACC.”

The Hokies went about proving themselves by flaunting their depth and running the most consistent offense they’ve displayed all season. They had a 16-point cushion heading into intermission.

Before Saturday, Duke had trailed at halftime just once this season — by one point to Elon in the Blue Devils’ previous game, on Dec. 21. But the Hokies rolled after setting a fast pace to start and ended the game with six players in double-figure scoring. Junior guard Justin Bibbs led the team with 18 points and four three-pointers, and sophomore guard Ahmed Hill was right behind him with 17 points.

“Everybody does their part,” said Allen, who added 14 points. “It’s like six guys scoring 12 percent of the offense, 13 percent of the offense, 14 percent of the offense. . . . We got a lot of different pieces, and we jell well together because we’ve been playing together for so long.”

Virginia Tech shot 61.5 percent (8 for 13) from behind the three-point line and 55.2 percent from the field overall, more than enough to outmatch Duke’s spotty offense. Blue Devils sophomore guard Luke Kennard’s 34 points led all players, but his team shot 41.8 percent from the field, including 31.3 percent (5 for 16) on three-pointers.

Freshman forward Jayson Tatum was the only other Duke player in double figures (18 points) from a squad with five players averaging more than 10 points. The Blue Devils finished with eight assists, compared with 18 for the Hokies.

“I think that we’re a different team,” Williams said of his team’s growth from the 2015-16 season. “And I think, today, they were a different team without” Allen.

After building a double-digit lead by halftime, all Virginia Tech had to do was hold on.

The Hokies jumped out to an 8-0 lead as Duke failed to score on its first seven possessions. Kennard was the only productive Blue Devil, scoring his team’s first six points and leading the game with eight in the first 12 minutes as the Hokies’ lead increased to 27-17 with a layup by Allen.

Virginia Tech led by at least 10 points for the rest of the first half. The Hokies went into the locker room with a 47-31 lead having made 5 of 8 three-point attempts and shooting 58.1 percent from the field.

A shell-shocked-looking Duke squad walked off the court to ringing “You can’t trip us” chants directed at Allen, who spent the game on the bench in a warmup suit.

The junior remained a target of fans until the final minutes, when chants of “We want Grayson” turned into “over-rated.”