The Republican People's Party (CHP) has questioned the legitimacy of the close result, citing irregularities in the electoral process.
President Recep Tayyip Erdogan's push for an executive presidency succeeded with just over 51% of the vote.
The win was met with both celebrations and protests across Turkey.
The CHP is refusing to accept the Yes victory and is demanding a recount of 60% of the votes, criticising a decision to pass unstamped ballot papers as valid unless proven otherwise.
Three of Turkey's biggest cities - Istanbul, Ankara and Izmir - all voted No to the constitutional changes.
Opposition supporters took to the streets of Istanbul to bang pots and pans - a traditional form of protest - in a series of noisy demonstrations.
Meanwhile, flag-waving supporters of Mr Erdogan celebrated as their president praised them for their "historic decision" that could keep him in office until 2029.
With 99.97% of ballots counted, the Yes campaign had won 51.41% of the votes cast, while No had taken 48.59%. Turnout was said to be as high as 85%.
Separately, three people were shot dead near a polling station in the south-eastern province of Diyarbakir, reportedly during a dispute over how they were voting.