Parliament approved the election date of August 9 in a vote Friday morning.
The president opted not to postpone the vote despite the coronavirus pandemic as the ex-Soviet country has not imposed a lockdown and has continued to hold public events including football matches.
Belarus has reported 20,168 virus cases and 116 deaths.
The 65-year-old former collective farm director has led the small country of nine million sandwiched between Russia and the European Union since 1994.
He has already won five elections, most recently in 2015, and has confirmed he will contest this one.
He said in November that he could also stand in 2025, while adding: "I won't cling onto my seat with my cold dead hands."
The decision to go ahead with the election was criticised by the opposition.
"The date of August 9 practically knocks out all political opponents (to Lukashenko)," opposition politician Yury Gubarevich wrote on Facebook.
The campaign will fall at "the height of the coronavirus epidemic", making it hard to gather signatures of support for candidates, he argued.
Gubarevich said this would smooth the path for Lukashenko as the president's "rating is falling because of his useless actions" during the epidemic.
Lukashenko has repeatedly claimed the coronavirus is no worse than other winter bugs.
He has offered dubious tips on avoiding the virus, recommending driving tractors in the countryside, drinking vodka and taking steam baths.
This week he advised Belarusian men to "keep kissing" their partners but not to "run after another woman".
On Saturday, some 5,000 will turn out for a parade in Minsk celebrating 75 years since Soviet victory in World War II. Other countries such as Russia have postponed such events.