The 6-foot-4 Savon, blood streaming down his face from a cut suffered in a semifinal bout, used his height and experience to outpoint Sultanahmed Ibzagimov of Russia 21-13 at 201 pounds.
The 33-year-old Savon, a six-time world champion, became only the third boxer to win three Olympic golds. The other is Lazlo Papp at 165 in 1948 and at 156 in 1952-56.
"I'm really happy," Savon said. "I dedicate this to the people of Cuba."
Three other Cubans also won, two of them beating Russians.The four golds equal the number Cuba won in 1996 at Atlanta. There are no Cubans in Sunday afternoon's six finals.
Two Americans fight Sunday (Saturday night EDT). World 125-pound champion Rocky Juarez of Houston will box Bekzat Sattarkhanov of Kazakstan, and Ricardo Williams Jr., of Cincinnati will box Marhamadkadyz Abdullaev of Uzbekistan at 139 pounds.
Cuban boxers also earned two bronze medals, as did the United States.
Savon's bout was stopped briefly in the fourth round, while the referee examined the cut under the left eye, sustained in a win over Sebastian Kober of Germany in the semifinals.
Ibzagimov landed a left to the head after the bell ended the first round, and Savon then landed punches. The Russian was penalized two points, giving Savon a 6-0 lead. Savon was not penalized.
The Russian, trailing 9-1 in the second round, rallied within 11-7, but he could not sustain his attack.
"I came out and boxed defensively, it was a mistake," Ibzagimov said. "The next time I fight Savon, the outcome will be different."
Guillermo Rigondeaux won the first gold for Cuba by outpointing a Russian bronze medalist from 1996.
The 20-year-old Rigondeux scored an 18-12 decision over Raimkoul Malakhbekov at 119 pounds.
"I'm very happy to have won," Rigondeaux said. "I thank my coach for teaching me how to do it. ... The other guy was very technical, but I beat him. I hope to fight again in the next Olympics."
Rigondeaux was just too quick for the Russian and took charge in the final two rounds after trailing 7-6 after the second round.
Mario Kindelan, a 29-year-old world champion, gave Cuba its second gold by outboxing Andriy Kotelnyk of Ukraine 14-4 at 132 pounds.
"It's my dream to be an Olympic champion," Kindelan said. "I've been waiting for this for many years."
Kotelnyk couldn't solve the left-handed Kindelan's defense. The Cuban also opened up in the final two rounds after leading only 3-2 after the second.
The first gold medal of the day was won by Brahim Asloum of France, who won the 106-pound title on a 23-10 decision over 30-year-old Rafael Lozano of Spain, a bronze medalist in 1996 appearing in his third Olympics.
The other Cuban winner was 25-year-old Jorge Gutierrez, who landed two scoring blows in the last 40 seconds for a 17-15 victory over Gaidarbek Gaidarbekov of Russia. Neither boxer led by more than two points at any time.
Oleg Saitov of Russia won his second gold medal at 147 pounds with a 24-16 decision over Sergei Dotsenko of Ukraine. Dotsenko rallied to within 15-11 after three rounds, but Saitov's movement and counter punching controlled the final rounds.
"It's a gift from God to win this second gold medal," said Saitov, a 29-year-old journalist.
Lozano had outpointed Asloum in a previous meeting. When he learned he would be fighting the Spaniard for the gold medal, Asloum said, "I have improved a lot and I am out to take revenge, and I always win my grudge match."
"It's my third time," said the 4-foot-11 Lozano, who could not get inside against the 5-5 Asloum and fell behind 17-7 after three rounds. "I tried. I wanted the gold. I hope my girlfriend will talk to me tonight."