The March for Europe aimed to put pressure on the government to delay activating the formal process of leaving the EU, the BBC reported.
Pro-Brexit demonstrators staged a counter-protest at one location along the marching route.
Rallies have taken place across the UK, including in Edinburgh and Birmingham.
A sea of blue EU flags filled Parliament square shortly after 13:00 BST, where protesters sang along to The Beatles' hit Hey Jude, replacing the title words instead with "EU".
Read alsoSturgeon announces new Scottish independence drive after 'seismic' BrexitDemonstrators were calling for the government to make tight economic, cultural, and social ties with the rest of Europe.
Armed with homemade banners and flags, campaigners marched from Hyde Park and through Whitehall to the Houses of Parliament, where a debate on whether a second EU referendum should take place will be held on Monday.
An online petition garnered more than four million signatures after the vote to leave the EU in June, but an official government response to the campaign said the Brexit decision "must be respected".
Simultaneous protests also took place in Edinburgh, Birmingham, Oxford, Cambridge and Bristol.