The Hoosiers held a 13-point lead midway through the second half, but eventually became the latest team to be defeated soon after reaching the No. 1 spot.
Indiana then tried to work for the final shot, but Richardson stole the ball from Victor Oladipo and headed down the court toward a potential game-winning layup. Oladipo, however, caught up and managed to knock the ball out of bounds with nine-tenths of a seconds remaining.
Illinois then ran a special inbounds play that fooled the Hoosiers and created the winning points.
The Illini set up three players on the right side of the basket and it appeared Brandon Paul would inbound the ball to one of them. Griffey, however, came running down the lane past Indiana's Cody Zeller, took a bounce pass from Paul and laid the ball in for the victory.
Richardson led Illinois in scoring with 23 points and Paul had 21. Griffey added 14 points and eight rebounds.
Illinois had lost its previous three games and this was only its third Big Ten Conference victory in 10 tries. The Illini are 16-8 for the season.
Indiana (20-3, 8-2) fell back into a first-place tie in the league race with Michigan and Michigan State. The Hoosiers were paced by Zeller with 14 points and nine rebounds.