One man has been injured after part of a train's roof flew off as it approached a station in Sydney's inner west on Monday.

The Waratah train was pulling into Burwood Station about 1.30pm when witnesses said the roof "exploded".

"I heard 'kaboom', like firecrackers. Like fireworks," one witness told Seven News.

Another said he heard an "almighty bang".