Mid and West Wales Fire and Rescue Service said crews from Newtown and Machynlleth fire Stations were called to the scene at 19:31 on Monday.
Its crews responded to the incident alongside other emergency services and left at 23:11, the service said.
The Welsh Ambulance Service said it took seven patients to hospital by ambulance, while Dyfed Powys Police said a total of 15 people were taken to hospital with injuries.
Anthony Hurford, a passenger on the Aberystwyth-bound train, said he felt “pretty shellshocked” by the incident.
“The word that keeps coming to my head is just brutal really.
“Just going from, I don’t know how fast we were going, maybe 40, 50, 60 miles an hour, to nothing in the blink of an eye,” he told BBC Breakfast.
“Somehow my body bent the leg of a table and ripped it off its bolts attached to the wall.