Cabello shared a 26-second preview of the short film for "Havana" on October 22, 2017, through her YouTube channel. The video featured appearances by Lele Pons as Bella, LeJuan James as Grandma Abuelita, Noah Centineo as Cabello's love interest, Marco DelVecchio as the twins Juan and Rodrigo and Mikey Pesante as the dancer. It was directed by Dave Meyers and was released on October 24, 2017.

The music video starts with Karla, played by Cabello, watching a telenovela, before being interrupted by her grandmother, who turns off the TV and advises her to live her life instead of spending her days indoors. Karla then leaves the house to go see a movie. The film she is watching, called Camila in Havana, takes the form of a music video, starring a version of herself wearing a fringe-covered red dress and performing at a club. Aside from appearing as Karla, Cabello also plays the telenovela actress and the movie protagonist. After the film ends, she leaves the cinema and stumbles across a cyclist, also the male protagonist of the film, and begins dancing with him. As of July 2018, the video has received 640 million views on YouTube, while there is an audio-only version with over 1.1 billion views on YouTube.

A vertical video, directed by Sam Lecca, was released on November 10, 2017, on her official Vevo account. The clip shows Cabello and dancers on a New York City subway. The video was previously a Spotify exclusive.