The engine of a public bus exploded and burst into "two metre high" flames while driving in a busy street in Sydney's Surry Hills on Monday evening.

Transport for NSW confirmed the gas-powered bus, operating on route 394 from La Perouse to the City, caught fire around 7.30pm on Monday, on Flinders Street at South Dowling Street.

A bus caught on fire in Surry Hills on Monday on Flinders Street. Credit:Phil Dye

The bus was safely evacuated, and no passengers were injured.

Pictures posted on Twitter by Surry Hills resident Phil Dye show large plumes of grey smoke rising from the bus, which was stopped in the bus lane with its doors open, "20 seconds after the explosion ... before it caught fire".