Thousands of people have gathered in central London to celebrate workers' achievements at a May Day rally where Jeremy Corbyn condemned anti-Semitism.
The Labour leader joined the crowds at Clerkenwell Green in the capital to mark the international day honouring workers.
Mr Corbyn addressed workers from the top of a red London bus and said the Labour movement stood "united".
"We stand in solidarity now against the growth of the Far Right in Europe."
His appearance marked the first one by a Labour leader at a May Day rally in 50 years.
Frances O'Grady, general secretary of the TUC, wished the crowd a happy May Day and sent a special message of solidarity to BHS workers.
She said: "We stand by you."
The rally celebrates "what was won by workers' campaigning over many years", including the NHS, education, pensions and affordable housing, which organisers claimed were under attack by the austerity agenda.
With placards brandishing slogans such as "Cameron must go", the rally will march to Trafalgar Square where more speakers will address hundreds of workers.
Shadow chancellor John McDonnell was expected to speak at Clerkenwell Green with Mr Corbyn but is attending another May Day rally in Glasgow.
A brass band played as the rally marched through the streets of London, along the Strand, to Trafalgar Square.
Workers held placards representing dozens of unions, including Unite and the RMT. Many held banners and placards calling for Prime Minister David Cameron to resign.
There was a large contingent calling for international solidarity on human rights and trade union rights. Several others held placards in support of junior doctors.
At one point the rally was stalled as it passed along the Strand where a group from Unite set off red smoke flares.