More than 30 British passengers are stranded on a cruise ship operated by the company involved in the Costa Concordia tragedy after a fire broke out on board.

The Costa Allegra was carrying 636 passengers and 413 crew members when it lost power after the blaze in an electric generator room.

The vessel, owned by Costa Cruises, was cast adrift in the Indian Ocean and left at the mercy of the current as it waited for tugs to arrive to tow it to a port. Among the holidaymakers on board are 31 Britons and one Irish person. The majority are Italian, French, Austrian and Swiss.

The incident came after the Costa Concordia cruise liner, also operated by Costa Cruises, struck rocks off the west coast of Italy on January 13, leaving a death toll expected to reach 32.

The 28,597 gross tonne ship had armed security on board and fears that it could be targeted by Somali pirates were played down. The tugs are expected to reach it soon but Italian coastguard officials said a large French ocean fishing boat could be the first vessel to get there.

The ship was sailing around 200 miles off the south-west of the Seychelles when the fire broke out. Officials said it had been extinguished without causing any injuries or casualties and the liner was now stable and upright despite the 5ft waves battering it.

Captain Giorgio Moretti said the air conditioning and lights had been knocked out when the power went, but officials said emergency generators were keeping the ship's command room lit and instruments such as its radio functioning.

The rest of the ship was apparently dark, however, as night fell and its passengers were being kept in the large communal rooms rather than their cabins.

Seychelles presidential spokeswoman Srdjana Janosevic said: "If pirates attack, the armed guards on board will respond. But as far as I am aware, no pirates have been sighted in the area."

The Allegra left northern Madagascar on Saturday and was cruising towards the port of Victoria, Seychelles' capital, when the blaze broke out. It had been due in Victoria on Tuesday.