A gunman who vowed online to shoot two "pigs" in retaliation for the police chokehold death of Eric Garner ambushed two New York City officers in a patrol car and shot them dead in broad daylight before running to a subway station and killing himself.
Ismaaiyl Brinsley (28) wrote on an Instagram account before Saturday's shootings: "I'm putting wings on pigs today. They take 1 of ours, let's take 2 of theirs."
He used the hashtags #Shootthepolice #RIPErivGardner (sic) #RIPMikeBrown.
Police said Brinsley approached the passenger window of a marked police car and opened fire, striking officers Rafael Ramos and Wenjian Liu in the head. They were on special patrol doing crime reduction work in a Brooklyn neighbourhood.
"They were, quite simply, assassinated - targeted for their uniform," said Police Commissioner Bill Bratton.
The killings stunned the city, prompted a response from president Barack Obama and escalated weeks of simmering ill-will between police and their critics following grand jury decisions not to indict officers in the deaths of Garner in New York and Michael Brown in Missouri.
Garner and Brown were black; the officers who killed them are white. Brinsley was black; the officers he killed were Asian and Hispanic.
Demonstrators around the country have staged 'die-ins' and other protests following the grand jury decisions. The New York police union head declared there's "blood on the hands" of protesters and the city's mayor.
Brinsley took off running after the shooting. Officers chased him to a nearby subway station, where he shot himself in the head as the doors of a subway train full of people closed. A handgun was recovered.
"This may be my final post," Brinsley wrote in the post that included an image of a silver handgun. The post had more than 200 likes.
Rev Al Sharpton said Garner's family denounced the violence. Brown's family condemned the shooting in a statement posted online by their attorney.
Officers raised their hands in a silent salute as two ambulances bore away the slain officers' bodies.
The tragedy ended a bizarre route for Brinsley that began in Maryland early on Saturday. He went to the home of a former girlfriend in a Baltimore suburb and shot and wounded her.
Brinsley had a history of arrests in Georgia for robbery and carrying a concealed weapon. He had some ties to Brooklyn.