Keita Bates-Diop hit the game-winner with 2.8 seconds left as 14th-ranked Ohio State beat 3rd-ranked Purdue 64-63, ending their 19-game streak.