The collision took place near the “B” gates of Terminal 5, used by BA.
A man in his forties was taken to hospital in west London after going into cardiac arrest, according to police and paramedics.
Officers from the Metropolitan Police’s serious collision investigation unit are investigating and the Health and Safety Executive has been informed, the force said.
A Heathrow spokesman said: “We can confirm that following a serious accident involving two vehicles on our airfield, an airport colleague has passed away.
“Our deepest condolences go to the family and friends affected by this accident. We will be fully cooperating with the police in the investigation which will follow.”
British Airways said: “We are deeply saddened by this tragic incident and are offering our full care and support to his family and colleagues.”
The Met said the other man was thought to have suffered a broken shoulder in the crash, shortly after 6am, but his injuries were not life-threatening or life-changing.
No arrests have been made, it said.
London Fire Brigade said it had been called to release two people who were trapped in the vehicles following the crash.
At least 20 British Airways flights from Terminal 5 were delayed and passengers were ordered to leave an aircraft which was unable to take off because of the incident.
The airport was not closed as a result of the accident and no passengers were involved.
UK news in pictures
British Airways passengers to Amsterdam and Zurich, whose aircraft were near the scene of the accident, were delayed by more than three hours.
There were also flight delays of over two hours to Tel Aviv and an hour or more on flights to Istanbul, Manchester, Milan and Newcastle.
In the aftermath of the crash, Heathrow initially said it would not disrupt flights.
The airport was responding to a tweet from Alastair MacLeod, who said: “Apparently there has been an accident on one of the runways at @HeathrowAirport and many planes (including this one) are parked on the apron with unspecified delays of ‘hours’.
“No public news of this and no useful updates from @British_Airways – anyone out there know any more?”
Heathrow Airport then responded on Twitter, saying: “Following an incident on the airfield involving two members of staff, an investigation is underway and we are working with the police. This incident didn’t involve any passengers and is not expected to cause any impact on journeys today.”
Another passenger, Steven Ross, tweeted in response: “With respect, it is impacting journeys departing B gates – BA710 to Zurich delayed by +2 hrs and aircraft change required.”
Additional reporting by agencies