The blasts shattered the carnival atmosphere of one of the biggest sporting events in the US, causing panic and confusion.
Bloodied victims were initially rushed to a medical tent set up to care for fatigued runners.
Emergency services descended on the scene, which was quickly locked down.
The cause of the explosions has yet to be confirmed.
“There are a lot of people down,” one runner was quoted as saying by AP news agency.
A White House official said President Barack Obama had been notified about events in Boston, while Vice President Joe Biden – breaking of from a telephone conference call on gun control – said: “Our prayers are with those people in Boston who have suffered injury.”
The incident reportedly came about two hours after the winners crossed the line.
The Associated Press news agency said there was a loud explosion on the north side of Boylston Street, just before the bridge that marks the finish line. Another loud explosion could be heard a few seconds later, and smoke could be seen rising from the scene of the blasts.
TV helicopter footage showed blood staining the pavement in the shopping and tourist area known as Back Bay.
Mike Mitchell of Vancouver, Canada, a runner who had finished the race, said he was looking back at the finish line when he saw a “massive explosion.”
Smoke rose 50ft (15m) in the air, he told Reuters news agency, and people began running away and screaming after hearing the noise. “Everybody freaked out,” he said.
Stragglers heading for the finish line were rerouted away from the smoking site of the blasts as the scene was locked down.
The annual Boston Marathon attracting a large field of runners and tens of thousands of spectators.
Meanwhile, police in New York have told the Reuters news agency they have deployed anti-terrorism units at key sites.