"I hope this doesn't harm Obama, but if I was from the United States, I'd vote for Obama," the socialist Chavez said of a man he first reached out to in 2009 but to whom he has since generally been insulting.
Chavez is running for a new six-year term against opposition challenger Henrique Capriles, while Obama seeks re-election in November against Republican candidate Mitt Romney. Venezuela's election is next weekend.
"Obama is a good guy ... I think that if Obama was from Barlovento or some Caracas neighbourhood, he'd vote for Chavez," the president told state TV, referring to a poor coastal town known for the African roots of its population.
Chavez is one of the world's most strident critics of Washington and his 14 years in office have been characterized by diplomatic spats and insults at the White House.
He called former U.S. President George W. Bush a "drunk" and the "devil." After an initial overture to Obama came to nothing, he said the new president had disappointed progressives the world over and was the "shame" of Africans.
CHAVEZ: "I WOULD VOTE FOR OBAMA"
With both presidents facing tight re-election fights, Venezuela's Hugo Chavez gave a surprise endorsement to Barack Obama on Sunday - and said the U.S. leader no doubt felt the same.
But Chavez was back in a conciliatory mood in a TV interview with friend and former vice president Jose Vicente Rangel.
"After our triumph and the supposed, probable triumph of President Obama, with the extreme right defeated here and there, I hope we could start a new period of normal relations with the United States," he said.