A pro-rebel website, TamilNet, said the Liberation Tigers of Tamil Eelam (LTTE), had carried out the attack.
Correspondents say the attack amounts to a major embarrassment for Sri Lanka's government, which had claimed to have destroyed all the rebels' hidden runways and put its small air force out of action.
'Massive explosion'
The city was put on full alert at about 2130 (1600 GMT) as electricity was cut and searchlights and tracer fire from anti-aircraft guns cut through the night sky.
Briton Barry Walker told the BBC that he was in a central Colombo hotel when the blackout hit.
"We were sitting by the swimming pool when we heard firing of heavy anti-aircraft guns. Heavy shell fire. This lasted 20-25 minutes... then there was a massive explosion," he said.
Another witness told the BBC he saw a low-flying aircraft and then heard a huge explosion by the city's fort, where many government offices are located.
The air force headquarters, which is in the same area, may have been the target, correspondents say.
Air force jets scrambled
The ministry of defence said a tax office of the inland revenue department was in flames after one of the planes went down into the building.
The other plane was shot down next to the international airport, just outside Colombo, and the body of its pilot had been found, defence spokesman Keheliya Rambukwella said.
Witnesses at the airport told Associated Press news agency that anti-aircraft guns had been firing followed by an explosion.
Military spokesman Brig Udaya Nanayakkara said the alert began when a suspected Tamil Tiger aircraft was spotted north-east of Colombo and the capital's air defences were activated.
Air force jets were scrambled to engage the planes.
TIGER AIR RAIDS
26 March 2007: First Tiger air raid hits air force base near Colombo's international airport
24 April 2007: Military base in Jaffna peninsula hit
29 April 2007: Targets in and around Colombo hit, including fuel facilities
22 October 2007: Tiger planes back up ground assault on air force base at Anuradhapura, north of Colombo
27 April 2008: Military targets in north-east Sri Lanka attacked
26 August 2008: Naval base at Trincomalee bombed
28 October 2008: Dual raid on oil storage tanks near Colombo and military base in the north-west
20 February 2009: Colombo attacked
The attack comes as a major Sri Lankan army offensive has inflicted a series of defeats on the Tamil Tiger forces, pushing the rebels into a narrow area of jungle in the north of Sri Lanka.
The Tigers have used light planes in the past to attack Colombo and military targets in other areas of Sri Lanka.
The Tigers were believed to have a number of two-seater Czech-made Zlin-143 aircraft fitted with homemade bombing equipment.
The propeller-driven planes were reportedly smuggled into the country in pieces before being reassembled and modified to carry bombs.
About 70,000 people have died in the last 25 years as the Tigers have been fighting for a separate homeland in the north and east of the country.
Are you in Colombo? Have you witnessed any of the attacks? Send us your story using the form below:
The BBC may edit your comments and not all emails will be published. Your comments may be published on any BBC media worldwide.
This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.
Bookmark with:
What are these?