Labour donor Lord Sainsbury also gave more than £2m to the Liberal Democrats, it has emerged.
The former science minister, who served under Tony Blair, said both gifts were part of his attempt to ensure Britain remained in the EU.
The donations, of £2.15m to Labour and £2.125m to the Lib Dems, were revealed as part of the latest quarterly return on party funding published by the Electoral Commission.
The update, published yesterday, prompted controversy with shadow Chancellor John McDonnell claiming Labour had displayed “double standards” after suspending the left-wing leader of the Bakers’ Union but not taking action against Sainsbury after he funded a rival party.
The peer said that he had funded both Labour and the Lib Dems, as well as a “number of other registered bodies”, because he wanted to defend Britain’s role in the EU. He also helped fund the Britain Stronger in Europe campaign.
“I did so because I believe strongly that coming out of Europe will be damaging to our economy and society, and dangerously so if we come out of the common market,” he told the BBC.
“I am sorry that we failed to convince the British people as I believe the dangers of Brexit are very real, and I hope that thoughtful and careful leadership by the new prime minister will mean that my worst fears are not realised.”
Sainsbury is a former finance director and chairman of the supermarket chain and has also contributed heavily towards Blairite pressure group Progress.