Lieutenant Colonel Arnaud Beltrame, 45, died overnight of gunshot wounds, Reuters reports.
Interior Minister Gérard Collomb first announced Beltrame’s death in a Tweet early on Saturday, he said: "He died for his country. France will never forget his heroism, his bravery, his sacrifice."
The attacker has been identified as 25-year-old Moroccan-born Redouane Lakdim, who was shot dead by police in the hostage standoff in Trèbes.
Beltrame’s death brings the number of people killed in the attack to four. Two of the other victims were inside the supermarket, while the third was killed earlier in the day during a carjacking in the nearby town of Carcassonne.
Islamic State has claimed responsibility for the attack, according to Reuters.
President Macron said of Beltrame in a statement: "In offering himself as a hostage to the terrorist holed up in the Trebes supermarket, lieutenant colonel Beltrame saved the life of a civilian hostage, showing exceptional self-sacrifice and courage."