Heidfeld continued to build on BMW's consistency with his third podium for the season, while Barrichello secured his first top-three finish since 2005, and Honda's maiden podium for 2008.
"It's fantastic, I never lost the belief I had in me," a beaming Barrichello said.
"Obviously it was a bit lucky with the weather, but I love the wet conditions.
"I've always said, I have this great feeling - it's like I'm young. Smiling through the problems, working through the problems.
"I feel the speed and I can't live without that."
Three-way tie
Hamilton's third win of the season ended a two race barren run to send him to the top of a three-way tie on 48 points with Ferrari's Brazilian Felipe Massa, who was 13th and last after spinning five times during the race, and world champion Kimi Raikkonen who finished fourth.
The 23-year-old, who finished 68.5 seconds ahead of Heidfeld, takes the lead on head-to-head finishes in other races.
Conditions claimed local favourite David Coulthard, driving in his final British Grand Prix before retiring, on the first lap as steady rain and spray from the tyres made life difficult for the drivers.
"I was having big problems with my visor, especially the right side, it was fogging up," Hamilton said.
"When Rubens was catching me, I could barely see out of my visor. I could only hear the drone of two engines – mine and someone elses."
Despite the inclement weather Hamilton was cheered on by a vocal Silverstone crowd of around 90,000 - support that shone throughout the day.
"I was feeling great [before the race]. I saw some of the fans at the gate and all of this gave me some energy and so much support.
"I have to say a huge thank you to all the fans here, and without their support we wouldn't have done this.
"It's the best weekend ever."