A spokeswoman for Network Rail said a “small area” of the temporary roof at London Bridge became loose and was “flapping in the wind”.
Lines reopened shortly before 5pm at London Bridge, but crowds were still struggling to get into Cannon Street after 7pm.
Reena Gopal, 32, project administrator arrived at Cannon Street when staff had shut the gates due to overcrowding.
She said: “Slowly people got let into the station – but nothing was being said except delays everywhere. I finally got onto a train and it was packed. Nobody could move.
“Everybody was cramming on trying to get on at the last minute. When I heard the roof had been blown off – health and safety measures should have been taken. We pay good money – they knew the storm was coming.”
Many commuters took to Twitter to post pictures of “chaotic” scenes at Cannon Street.
Jamie Brown tweeted: “Cannon Street and London Bridge are pandemonium, with platforms and concourses closed.”
L Wo tweeted a photograph of a crowd streaming into Cannon Street with the hashtag #hellonearth.
Southeastern said in a statement Cannon Street station was particularly busy on Monday due to the earlier line closures.
Meanwhile, South West Trains said services from Waterloo to Virginia Water and Ascot were disrupted due to a fallen tree on the line at Sunningdale.
Met forecaster Emma Sillitoe said London City Airport saw gusts of up to 53mph, while in Kent it reached speeds of 66mph.
She added: “Storm Imogen moved through. The centre of the storm moved up towards the north east and it was the back edge of the isobars tight together.”
Today the storm was expected to pass with lighter winds and sunny spells.