Johnson's shot at the end of the second half brought about a 51-51 tie and Malcolm Delaney missed a jumper at the buzzer that would have won it for the Hokies. Johnson also put Purdue in front for good with 1:27 to go in overtime with a jumper.
Virginia Tech did not score over the final 1:45 of the extra period.
Johnson scored a season-high 29 points in helping Purdue (6-1) bounce back from a loss to Richmond Saturday.
E'Twaun Moore added 14 for the Boilermakers, who were playing their first road game of the season.
Virginia Tech (4-3) was led by Jeff Allen with 14 points and nine rebounds. The Hokies had won the other two meetings between the schools.
Copyright 2010 United Press International, Inc. (UPI).