Hungary won two golds and a silver, with Germany taking a gold, silver and two bronzes on Wednesday.
Germany's Sebastian Brendel caused an upset when he powered to victory over Hungarian favourite Attila Vajda to win the men's canoe single 1,000m.
Vajda, who had been bidding to defend his title won in Beijing, finished well down the field in sixth.
Spain's David Cal Figueroa took the silver with a quick final 500 metres and Canada's Mark Oldershaw won the bronze.
Hungary's European champions Rudolf Dombi and Roland Kokeny won the men's kayak double 1,000m in a photo finish when they held on to beat Portugal and fierce rivals Germany.
The Hungarian duo came from behind to beat the German boat of Martin Hollstein and Andreas Ihle who were bidding to defend their title from Beijing.
Portugal took the silver and Germany the bronze.
Hungary powered to gold in the women's kayak four 500m to claim the Olympic title and deny Germany the chance to take their fifth straight win.
The Hungarian crew, who won the last three World Championships, took a slight lead off the start and held on as Germany and Belarus sprinted for the line.
"I cannot tell you how happy I am," a beaming Katalin Kovacs from the women's Hungarian K4 told reporters on the side of the lake after finally winning gold in the event to go with three Olympic silvers.
Kovacs also won gold medals in K2 in Athens and Beijing.
"It's an incredible feeling when something you planned comes true." Her only regret, she added, was not being able to share the feeling of victory with her former crew mates from the silver-winning boats.
Germany took the silver and Belarus the bronze.
There was a second bronze for the Germans as Max Hoff came third in the men’s K1, which was won by Eirik Veras Larsen of Norway. Canada’s Adam van Koeverden took silver.