Polls place acting President Iliana Iotova, 61, and ex-caretaker prime minister Andrey Gyurov, 50, as leaders in a race of 27 candidates.
While the presidency is largely ceremonial, Sunday's vote has taken on added significance after a series of drone attacks on merchant ships off Bulgaria's Black Sea coast that likely killed some two-dozen international seafarers.
The strikes, which sparked international condemnation and concerns about the growing reach of the war in Ukraine, prompted the government to seek allied assistance to bolster maritime security.
Bulgaria has stopped short of directly accusing Russia of carrying out the attacks, but Prime Minister Rumen Radev said their outcome "benefits the Russian Federation".
Both leading presidential candidates condemned the strikes, but they differ over the broader war.
Gyurov, who served as caretaker prime minister this year, is supported by pro-Western, reformist parties and has long expressed support for Ukraine. He signed a security co-operation agreement with Kyiv during his time as premier.
"I want Bulgaria to have a voice of its own in Europe. A reliable NATO ally that defends its interests through preparedness, strong diplomacy and a clear position," he said at a rally on Thursday.
Iotova, formerly vice president, became acting president in January after Radev resigned to enter the parliamentary race, which he won on what many political analysts considered a Kremlin-friendly ticket. Radev supports Iotova and they both call for a diplomatic end to the war.
A victory for Iotova would make her Bulgaria's first elected female president.
Polls by Alpha Research give Iotova 41 per cent of the vote and Gyurov 28 per cent. If no candidate wins a majority, a runoff vote will be held on November 1.
with AP