Heavily armed attackers stormed Garissa University early on Thursday, killing two security guards then firing indiscriminately on students.
Four of the gunman were eventually surrounded in a dormitory, and died when their suicide vests detonated.
It is the deadliest attack yet by al-Shabab.
The militants singled out Christians and shot them, witnesses said.
More than 500 students managed to escape, 79 of whom were injured. A fifth gunman has reportedly been arrested.
Kenya attack: 147 dead in Garissa University assault - BBC News
Up to 150 killed at Kenyan university after al-Shabaab Easter Week raid | Daily Mail Online
Christians singled out in Kenya bloodbath - CNN Video