Simmons refused to sign a contract for the amount of salary offered by the Cardinals in 1972, electing to play without a contract. He ultimately signed a contract well into the season during which he was recognized as one of the top catchers in the league by earning a spot as a reserve on the 1972National League All-Star team. He finished the year with a .303 batting average with 16 home runs and 96 runs batted in, breaking Walker Cooper's team record for RBIs by a catcher and, set the team record for home runs by a catcher, previously held jointly by Gene Oliver and Tim McCarver. His defense began to improve as well, posting a .991 fielding percentage and leading National League catchers in assists and in putouts. Despite the Cardinals finishing the season in fourth place, Simmons would finish in 10th place in the National League Most Valuable Player Award balloting. Simmons continued to produce offensively in 1973 with a .310 batting average, along with 13 home runs and 91 runs batted in. He also led the league's catchers in putouts and finished second in assists, earning his second All-Star berth as the Cardinals again finished the season in second place.
In 1975, Simmons hit 18 home runs along with 100 runs batted and posted a career-high .332 batting average, finishing second in the National League batting championship behind Bill Madlock. He also set a National League single-season record for most hits by a catcher with 188. He finished in 6th place in the National League Most Valuable Player Award balloting as the Cardinals ended the season in fourth place. Simmons broke Johnny Bench's nine-year stranglehold as the starting catcher for the National League All-Star team when he was elected to be the starting catcher for the National League in the 1978All-Star Game. Simmons led the Cardinals in RBIs every year from 1972 until 1978. He had another strong year in 1980, hitting .303 with 21 home runs and 98 runs batted in to win the inaugural Silver Slugger Award which is awarded annually to the best offensive player at each position.
In a twenty-one-year major league career, Simmons played in 2,456 games, accumulating 2,472 hits in 8,680 at bats for a .285 career batting average along with 248 home runs, 1,389 runs batted in and a .348 on-base percentage. He ended his career with a .986 fielding percentage. An eight-time All-Star, he batted above .300 seven times, reached 20 home runs six times, and eight times exceeded 90 runs batted in. He switch-hit home runs in a game three times and established a since-broken National League career record for home runs by a switch-hitter (182). Simmons held major league records for catchers with 2,472 career hits and 483 doubles, since broken by Iván Rodríguez. He ranks second all-time among catchers with 1,389 runs batted in and 10th with 248 home runs. He caught 122 shutouts in his career, ranking him eighth all-time among major league catchers.
In 1992, Simmons was hired as General Manager of the Pittsburgh Pirates. He served in that position for only a year, retiring after suffering a heart attack in June 1993. In Spring Training 1992 Simmons had agreed to trade left fielder Barry Bonds to the Atlanta Braves, but backed out when Pirates Manager Jim Leyland threatened to quit. He also was Director of Player Development for both the Cardinals and San Diego Padres, and a scout at the Major League level for the Cleveland Indians. He was named the bench coach for the Milwaukee Brewers starting with the 2010 season. On September 15, 2010, he was reassigned to another position within the organization.