Derek Chauvin, who is white, was shown in footage kneeling on 46-year-old George Floyd's neck on Monday. He and three other officers have been sacked.
Days of looting and arson in the Minnesota city have boiled over into nationwide protests.
The case has reignited US anger over police killings of black Americans.
Hennepin County Prosecutor Mike Freeman said Mr Chauvin was charged with third-degree murder.
He said he "anticipates charges" for the three other officers but would not offer more details.
Mr Freeman said his office "charged this case as quickly as evidence has been presented to us".
"This is by far the fastest that we've ever charged a police officer," he noted.
Curfews have been ordered for both Minneapolis and St Paul, from 20:00 to 06:00 starting on Friday night and ending Sunday morning.
On Thursday, during the third night of protests over Mr Floyd's death, a police station was set alight. A number of buildings have been burned, looted and vandalised in recent days, prompting the activation of the state's National Guard troops.
There have also been demonstrations in other US cities, including New York, Los Angeles, Chicago, Denver, Phoenix and Memphis.