Buffalo (15-6, 6-3 Mid-American Conference) moves into a four-way tie for first-place in the east division. Ball State (7-13, 2-7) has lost seven straight.
Ball State's Zavier Turner hit a 3, Evans had a turnover, and Turner hit another jumper to pull the Cardinals within 80-78 with 10.9 seconds to go.
Lamonte Bearden answered for Buffalo with a pair of free throws, and grabbed a rebound on the other end to seal it for the Bulls.
Bearden dished out seven assists and finished with seven points. Justin Moss added 17 points for Buffalo, which had a 13-point lead early in the second half.