Joe Biden called a man at an Iowa campaign stop a "damn liar" after the 2020 Democratic challenger was compared to Donald Trump for "selling access" to the presidency by supposedly sending his son to Ukraine to work for a gas company.
"You're a damn liar, man," Mr Biden said. "That's not true, and no one has ever said that."
The man also suggested the former vice-president, 77, was "too old for the job".
"I'm not sedentary. I get up", Mr Biden said as a campaign staffer motioned to remove the microphone from the man speaking to him. "Let him go. Look: The reason I'm running is because I've been around a long time and I know more than most people know. And I can get things done. That's why I'm running. And you want to check my shape, let's do pushups together, man. Let's run. Let's do whatever you wanna do. Let's take an IQ test."
The unusually heated exchange — among several testy moments with voters on Mr Biden's campaign trail — broke out a few hours after Mr Biden received an endorsement from former Secretary of State and 2004 president challenger John Kerry, who called Mr Biden "the candidate with the wisdom and standing to fix what Trump has broken".
It also follows the first day of Mr Trump's impeachment hearings, in which the president is accused of pressuring Ukraine to investigate Mr Biden and his son Hunter Biden, who sat on the board of Ukrainian energy company Burisma, in exchange for a White House meeting between the countries' presidents and the delivery of much-needed military aid.
Mr Biden paced in front of a crowd during his "No Malarkey!" campaign event in New Hampton before locking eyes with a man speaking into a microphone.
"I've got a question I want you to answer", the man said. "We all know Trump has been messing around with Ukraine over there, holding their foreign aid ... But you, on the other hand, sent your son over there to get a job and work for a gas company, that he had no experience with gas or nothing, in order to get access ... You're selling access to the president just like he is."
Mr Biden told him that's "not true".
The man responded: "The hell it ain't. I see it on the TV."
WATCH: A tense exchange with a voter at @JoeBiden’s event in New Hampton, IA this morning, where a voter started out by telling Biden he had two problems with him: he was too old, and his son’s work in Ukraine pic.twitter.com/ok7m0ShFPd— Molly Nagle (@MollyNagle3)December 5, 2019
"No one has said my son has done anything wrong, and I did not on any occasion, and no one has ever said it", Mr Biden said. "Not one."
"I didn't say you were doing anything wrong," the man said.
Mr Biden, furious, walked towards the man and said: "You said I set up my son to work at an oil company. Isn't that what you said? Get your words straight, jack."
The man fought back: "That's what you hear on MSNBC."
Dismissively shaking his head, Mr Biden replied: "You did not hear that at all. What you heard... look. I don't want to get in an argument, man."
The man, who told reporters he's an 83-year-old retired farmer who does not plan to vote for Mr Biden, told the former vice president that "it looks like you don't have any more backbone than Trump does".
Mr Biden replied: "You think I thought you'd stand up and vote for me? You're too old to vote for me."