Around 5,000 people took part in the demonstration from Hyde Park to Trafalgar Square, police said on Saturday.
This is while a spokesman for organizers of the rally, Stop The War Coalition, put the figure at 10,000.
Among those on the march was Lance Corporal Joe Glenton, a member of the Royal Logistics Corps who has served in Afghanistan before, but now is facing a court martial over refusing to return for another term.
“It is distressing to disobey orders, but when Britain follows America in continuing to wage war against one of the world’s poorest countries I feel I have no choice,” he said in a statement issued before the protest.
The protest took place at a time when opinion polls show a further drop in public support for the war.
According to a recent poll conducted by YouGov for Channel 4 News, 62 percent of respondents wanted troops to withdraw from Afghanistan within a year.
The survey also found that 48 percent were in the opinion that troops were not winning the war and victory “is not possible”.
Britain currently has some 9,000 soldiers serving in Afghanistan. UK Prime Minister Gordon Brown earlier this month announced plans to send an additional 500 troops.
So far, 222 British troops have been killed since the 2001 US-led invasion of Afghanistan.