Several people were arrested by police, who used tear gas to disperse some protests.
In a nationally televised address, President Miguel Díaz-Canel said US trade sanctions had created economic misery on the Communist-ruled island.
Díaz-Canel made no concessions to the protesters in his speech.
“The order to fight is given”, he declared at the end of his appearance, “the revolutionaries must be in the streets”.
In the town of San Antonio de los Baños, just outside the province of Havana, hundreds of people challenged a heavy police presence to voice their complaints.
A resident who did not wish to be identified told CNN that residents had been experiencing power outages for a week and that this had “sparked” growing outrage.
Videos uploaded to social media appeared to show other protests in a handful of towns and villages on the island.
In some of the videos, people shouted that they “weren’t afraid” or wanted freedom or access to coronavirus vaccines.
The already struggling Cuban economy has been hit hard, as tourism and good imports fell sharply during the pandemic.
Cuban health authorities reported a record single-day increase in new cases and deaths from Covid-19 on Sunday.