Local government official Sebastien Humbert told BFMTV that the driver of the truck was shot dead after barrelling down the palm-lined Promenade des Anglais in what he called "a major criminal attack".
"We saw people hit and bits of debris flying around," said an AFP reporter who witnessed the white truck driving at high speed onto the seaside road.
Hundreds of terrified pedestrians screamed as they fled the area. "It was absolute chaos," he added.
Witnesses speaking to local television stations described bodies lying on the promenade covered in sheets.
Also Read
While officials referred to an "attack", the incident had not been claimed by any group.
The bloodshed comes eight months after Islamic State jihadist attacks on Paris nightspots left 130 people dead.
France has repeatedly been singled out as a prime target of the group, and has been under a state of emergency ever since, boosting security across the country.
The apparent assault came just hours after France announced that a state of emergency declared after last November's attacks would come to an end later this month.
The incident comes after a day of revelry as France celebrated its national day, Bastille Day, which began with military pomp and ceremony as its armed forces, tanks and fighter jets swooped down the Champs-Elysees avenue.
The holiday typically ends with spectacular fireworks over the Eiffel Tower in Paris, as well as cities around the country.
However celebrations were quickly overshadowed.
Images on television showed the Promenade Des Anglais sealed off, crawling with police and ambulances and authorities from the local Alpes-Maritimes prefecture urged residents to stay indoors.
A large section of the city - extremely popular with sun-seeking tourists - was cordoned off.
French President Francois Hollande rushed back from the southern city of Avignon for crisis talks, his office said.