Ravindra Pinto, a ticket inspector at the station, said: "I was near my counter and I heard a big blast. When I looked behind I saw a policeman bleeding.
"As I took him and rushed out, I saw many men and women on the ground."
The blast came just hours after at least four people were injured in a small explosion at a zoo in the capital, despite increased security ahead of independence day celebrations.
There was no immediate claim of responsibility for either attack.
"It was an improvised explosive device, this must be to warn the people," Nanayakkara said of the zoo blast.
The blasts came as police sought the public's help in finding two men they suspect of planting a parcel bomb on a bus in north-central Sri Lanka on Saturday.
At least 20 people were killed and 68 others injured in the explosion at a bus station in Dambulla.
"We have information that two people got off the bus before the bomb went off," Kingsley Ekanayaka, police deputy inspector-general, said.
"We are trying to track them down. A search is under way."
Mahinda Rajapakse, the president, condemned Saturday's bombing and urged Sri Lankans not to be provoked by what he called the "savage attack" blamed on Tamil Tigers separatists.
Security forces have been placed on high alert as Sri Lanka prepares to mark the 60th anniversary of independence form Britain.
NK Illangakoon, the police spokesman, defended holding the celebrations despite fears of more attacks.
"We can't allow terrorists to disrupt our independence day celebrations," he said. "We are providing maximum security."
|An early morning attack at Colombo's zoo |
injured four people [Reuters]
About 4,100 troops, along with tanks and multi-barrelled rocket launchers, will be deployed for a procession along the seafront.
Fighting between the Sri Lankan military and the the Liberation Tigers of Tamil Eelam (LTTE) has escalated since the government scrapped a six-year ceasefire last month, saying the rebels were using it to rebuild and re-arm.
The military said on Sunday that it had killed at least 46 LTTE fighters in recent clashes in the northern areas of Jaffna, Vavuniya and Polonnaruwa and Mannar in the northwest.
Meanwhile, the Tamil Tigers accused the military of blowing up a school bus inside LTTE-held territory last month, which killed 18 people, including 11 children.
The two-decade campaign for a separate homeland for the country's Tamil minority has killed an estimated 70,000 people.