Hamilton was drafted out of Edmonds High School in Edmonds, Washington by the Kansas City Athletics in the fifth round of the 1966 Major League Baseball draft. He spent six seasons in their farm system before receiving a call up to the Oakland Athletics in May of 1972. He won his major league debut on May 29, starting the second game of a doubleheader with the Texas Rangers.
He ended the season at 6–6 with a 2.93 earned run average as the A's headed to the 1972 American League Championship Series against the Detroit Tigers. Hamilton made only one appearance in the ALCS, blowing a save opportunity in game four. He appeared twice in the World Series against the Cincinnati Reds. He faced just one batter, Joe Morgan in game five, and got a double play on a fly ball to Matty Alou in right field in which Pete Rose tried to score from third. In game six, the "Big Red Machine" tagged Hamilton for four runs in just two-thirds of an inning.
The A's returned to the World Series again in 1973 and 1974, but Hamilton never made a post-season appearance either year. On June 15, 1975, he and Chet Lemon were traded to the Chicago White Sox for Stan Bahnsen and Skip Pitlock.
Though Hamilton had been used as both a starter and reliever in Oakland, he was used strictly out of the bullpen by White Sox manager, Chuck Tanner. He earned his first major league save on June 25, and went on to earn 25 in three seasons with the club. On November 28, 1977, he and Silvio Martinez were sent to the St. Louis Cardinals to complete an August 31 deal in which the Chisox sent two players to be named later to the Cards for Clay Carroll.
Hamilton got off to a poor start with the Cardinals, and soon found himself doing mop-up duty for manager Vern Rapp. When Ken Boyer replaced Rapp at the helm, Hamilton was given the opportunity to redeem himself, but after blowing a save against the San Diego Padres on back-to-back home runs by Gene Tenace and Rick Sweet, found himself again in the mop-up role. He appeared in thirteen games for the Cardinals, all of which were losses, and was 0–0 with a 6.43 ERA when his contract was sold to the Pittsburgh Pirates.
After losing his first game as a Pirate, Hamilton earned his first save of the season against the New York Mets shortly afterwards. He began seeing more time in pressure situations, but after failing to perform, found himself again in the now familiar mop-up role. Following the season, he returned to Oakland as a free agent.
The A's were far from a World Series team when Hamilton returned in 1979. Considering the club lost 108 games his first season back, Hamilton's mark of 3–4 with five saves and a 3.70 ERA is respectable. He split 1980 between Oakland and the Ogden A's, going 0–3 with an 11.40 ERA at the major league level. After four games with the Pacific Coast League's Tacoma Tigers in 1981, he retired.
Hamilton was 4-for-25 in 1972 with five walks and two runs scored. In fourteen at-bats over the rest of his career, he never reached base again.
He currently lives in California with his wife, Lynn, and has three grown children Jonathan, Brian and Christy as well as a grandson, Matthew. He began coaching baseball for California High School in San Ramon in 1996. He is also a project manager for a roofing contractor.