Juanes said the show was about peace and tolerance, not politics, telling the audience that "the important thing is to swap hate for love".
But at the end of the show, he caused some surprise by shouting "Cuba libre!" (Free Cuba!) and "One Cuban family", slogans associated with the Cuban exile community.
In Miami, where the concert was broadcast by Spanish language TV stations, there were protests among some Cuban-Americans, with one group crushing Juanes CDs using a small steamroller.
"There has been a lot of blood spilled in Cuba and people executed by firing squad," said 77-year-old Hernan Gonzalez, who said he spent six years in a Cuban prison for his opposition to Fidel Castro in the 1960s.
"He [Juanes] is singing over dead bodies."
Ninoska Perez, spokeswoman for the Cuban Liberty Council, told BBC Mundo: "It's a farce... that overlooks Cuban reality by conveniently describing it as 'an apolitical concert'."
The location of the Havana concert was highly symbolic.
The headquarters of the communist party is in Revolution Square, along with a giant metal sculpture of Che Guevara's head.
The square was used by Fidel Castro to give five-hour speeches, and is also where Pope John Paul II celebrate a historic open air Mass in 1998.
Speaking in an interview broadcast on Sunday, US President Barack Obama said he understood Juanes to be a "terrific musician", but he was cautious about the impact of the concert.
"I certainly don't think it hurts US-Cuban relations," he said.
"These kinds of cultural exchanges - I wouldn't overstate the degree that it helps."
This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.