Panic broke out after the crowd began to compress towards the front of the stage at Travis Scott’s Astroworld Festival, emergency officials said.
Eleven people were taken to hospitals in cardiac arrest and eight died.
Some 300 people were treated for injuries such as cuts and bruises at the event, attended by 50,000 people.
Local politician Lina Hidalgo, county judge of Harris County, described what had happened as an “extremely tragic night”.
“Our hearts are broken,” she said. “People go to these events looking for a good time, a chance to unwind, to make memories – it’s not the kind of event you go to where you expect to find out about fatalities.”
The incident began around 21:15 on Friday (02:15 GMT Saturday), Houston Fire Chief Samuel Peña said.
“The crowd began to compress toward the front of the stage, and people began to panic,” he told reporters.
As the crush began causing injuries to people, the panic grew, Mr Peña said.
According to the Houston Chronicle, Travis Scott, who founded the festival, stopped multiple times during his 75-minute performance when he spotted fans in distress near the front of the stage.
The rapper asked security to make sure they were okay and help them out of the crowd.
Emergency vehicles, lights and alarms flashing, cut through the crowds several times, the paper says.
Organisers halted the concert when it was apparent that many people had been hurt, but the sheer scale of the casualties quickly overwhelmed the existing medical facilities, the fire chief added.
Earlier on Friday, hundreds of people had rushed the event’s perimeter, knocking down metal detectors and a security screening area to get into the concert, news outlet ABC13 reports.
The second and final day of the festival, on Saturday, has been cancelled.
“Nobody could dream of this,” said Houston Police Department Chief Troy Finner. “But we’re here, and I think it’s very important that none of us speculate. Nobody has all the answers tonight.” (Courtesy BBC)