The victory was the seventh in a row for the Golden Flashes (19-6, 9-3 Mid-American Conference), who are 15-0 at home against Buffalo.
Zach Filzen scored 20 points for the Bulls (16-7, 9-3), whose eight-game winning streak ended. The teams are tied for second in the conference's East Division, two games behind Akron.
After trailing 39-31 at halftime, Kent State rallied to go in front 57-48 with 10:48 remaining, but the Bulls responded with a 13-0 run to regain the lead, 61-57.
The Golden Flashes tied the game at 63 on a 3-pointer by Porrini and went ahead for good, 65-63, on Greene's layup with 5:55 left.
Randal Holt added 15 points for Kent State, and Mitchell Watt had 16 for Buffalo.