Born in Riverside, California, Bonds played varsity high school baseball at Riverside Polytechnic High School and signed with the Giants in 1964. His sister, Rosie, was a 1964 Olympic hurdler. His brother, Robert, won two gold medals in the hurdles at the high school track and field state finals in 1960, and was an NFL Draft pick in 1965. In 1964 he was a High School All-American in track & field, while also being named Southern California High School Athlete of the Year. Playing in the Giants' minor league system, he was Most Valuable Player of the class-A Western Carolina League.
He hit a grand slam in his third at bat in his first major league game, June 25, 1968, becoming just the second player ever, and the first in MLB's modern era, to hit a grand slam in his debut game. The first was Bill Duggleby in 1898. Bonds was named to the 1968 Topps All-Star Rookie Team.
Bonds was remarkable during his era for his combination of power and speed, but also for his propensity to strike out. In his first full season in 1969, he set a major league record with 187 strikeouts, while also leading the NL in runs. He broke his own strikeout record a year later with 189. That record lasted until 2004, when Adam Dunn broke it by striking out 195 times. This mark now belongs to Mark Reynolds with 223 in 2009. Bonds' 1970 total currently ranks tenth on the all-time single-season strikeout list. When Bonds retired, he ranked third in career strikeouts with 1,757, behind Willie Stargell's 1,912 and Reggie Jackson's 1,810. Bobby Bonds hit 39 home runs and had 43 stolen bases in 1973 – the highest level of home runs and stolen bases (39+ of each) until José Canseco of the Oakland Athletics in 1988. Barry and Bobby had 1094 combined home runs through 2007 – a record for a father-son combination. He was a three-time Gold Glove Award winner (1971, 1973–74), and a three-time All-Star (1971, 1973 & 1975, winning the All-Star MVP award in 1973).
In 1970 he stole a career-high 48 bases, the highest total by a Giant since Frankie Frisch in 1921. Bonds was second in the NL with 134 runs and was fourth in doubles (with 36) and total bases (with 334). He also hit ten triples, which was 3rd in the league and his 48 stolen bases was 3rd in the league.
In 1971 he finished fourth in the NL in runs batted in and second in runs, leading the Giants with a .288 average as they won the National League West title, earning their first postseason berth since the 1962 World Series. A bruised rib cage limited his play in the 1971 NLCS, his only postseason appearance; he was a late-inning replacement for rookie Dave Kingman in Game 1, and did not play in Game 2 before starting the final two games, batting 2-for-8 in the series. That season, he placed fourth in the NL MVP award voting. In 1972 Bonds scored 118 runs, which was second in the NL (the third straight season he was second in runs scored) and his 26 home runs was ninth in the circuit while his 44 stolen bases was 4th in the league. In 1973, he placed third in the MVP voting after hitting a career-high 39 home runs, 11 of them to start a game, and leading the league in runs a second time. Bonds was named the NL Player of the Year by The Sporting News in 1973 and was also named an outfielder on TSN's American League All-Star Team in 1977.
In 1975 Bonds broke Eddie Yost's career record of 28 leadoff home runs. His eventual record of 35 stood until Rickey Henderson broke it in 1989, and his NL record of 30 was broken by Craig Biggio in 2003. His single-season mark of 11 was broken by Brady Anderson in 1996. His 32 home runs was fourth in the AL and his 30 stolen bases were 8th in the league.
After being traded to the New York Yankees after the 1974 season, Bonds became one of the sport's most-traveled figures, playing for seven more teams over seven seasons, with more than one season for only the California Angels (1976–77); in 1977 he tied the Angels club record for home runs in a season (37). In addition to the Yankees (1975), he also played for the Chicago White Sox (1978), Texas Rangers (1978), Cleveland Indians (1979), St. Louis Cardinals (1980), and Chicago Cubs (1981). This prompted a line in the lyrics to Terry Cashman's 1981 hit song "Talkin' Baseball", in which the line in part reads "And Bobby Bonds can play for everyone".
Bonds' 461 career stolen bases ranked 12th in major league history upon his retirement. He was hitting instructor for the Indians from 1984 to 1987, and rejoined the Giants as a coach in 1993 when his son Barry signed with the team as a free agent. As a player, coach, scout and front-office employee, he was with the Giants franchise for 23 seasons. Barry Bonds is the only other player in major league history to hit 300 home runs and steal 400 bases, and also the only other player to have five 30–30 seasons.
Eleven times Bonds was in his league's top 10 in stolen bases, with eight of those season in the top six. Seven times he was among the league top ten home run hitters and nine time he was among the top ten in runs scored, leading the NL in 1971 and 1973. He was in the top ten in total bases eight times, leading the NL in 1973.
On May 3, 1963, he married Patricia Howard. They had three children, Barry Bonds, Rick Bonds, and Bobby Bonds, Jr., who played eleven years of pro ball but never made it to the major leagues.
Bonds died of complications from lung cancer and a brain tumor at age 57 in San Carlos, California. He is interred at Skylawn Memorial Park in San Mateo, California.