After nearly six hours of failed negotiations, police killed the gunman as he opened fire on them through a second-story window of a townhouse where he had barricaded himself, said Aurora police spokeswoman Cassidee Carlson.
It was unclear from police and media reports whether officers entered the home or shot the man through the window. KUSA television reported that he was killed after police fired tear gas and entered the home, where they found three more bodies.
The victims were believed to be related to the gunman, Carlson said.
Around 3am (local time) police notified neighbours of an emergency situation and evacuated several blocks, Carlson said in a news briefing outside the row of beige townhouses in this middle-class Aurora neighborhood, just outside Denver.
One person inside had escaped and alerted authorities, she said.
Around 8am, the gunman fired on a police vehicle, leading to an exchange of gunfire, KMGH television said. At that time police saw the first body, the station reported.
Carlson said the gunman, whose name has not been released, died just before 9am.
A neighbour, Michael Ignace, 46, said he had spoken to the gunman and "he seemed like a reasonable guy, and we talked about motorcycles."
Police entered Ignace's apartment during the night and alerted him, but he chose to stay in his house, he said.
The same Denver suburb was rocked by the mass shooting in July that had been the deadliest in the United States of 2012 until the December 14 massacre at an elementary school in Newtown, Connecticut, where 28 died, including the shooter.
In Aurora, the gunman opened fire during a midnight screening of the Batman movie "The Dark Knight Rises." Police identified former neuroscience graduate student James Holmes as the suspect in a crime that renewed debate about the sale of powerful semi-automatic rifles and extended capacity magazines.