Chalk's two finest seasons came in 1975 and 1977 during his tenure with the Angels. In 1975, he started 149 games at shortstop, batted .273, and set a career high with 56 runs batted in. Selected to the 1975 AL All-Star team, he did not appear in that summer's game, played at Milwaukee County Stadium on July 15. In 1977, Chalk was the Angels' regular third baseman, starting 137 games, and he achieved personal bests in hits (144), doubles (27), and batting average (.277). He moved back to shortstop for the Angels in 1978, his last year as a regular in the majors. He was traded to his hometown team, the Texas Rangers, in 1979 for veteran shortstop Bert Campaneris, but he spent only five weeks with the Rangers before he was shipped on to the Oakland Athletics. Electing free agency during the 1979–1980 offseason, he signed with the Kansas City Royals, and got into 96 games as a utility infielder in 1980 and 1981. Along the way, as a member of the 1980 American League champion Royals, Chalk appeared in his only World Series. In Game 2, he came in for another future Hall of Fame third baseman, George Brett, in the sixth inning. He batted once, against yet another Hall of Famer, Steve Carlton, and played a key role in a three-run rally by drawing a base on balls; he then stole second base and scored on an Amos Otis double. But the Royals could not hold their 4–2 lead, and the opposing Philadelphia Phillies took the game, 6–4,[3] and, eventually, the World Series itself.
Chalk retired from baseball after the 1981 campaign. In his 903 big-league games, he collected 733 hits, with 107 doubles, nine triples and 15 career home runs. He batted .252 lifetime and was credited with 243 runs batted in. He later scouted for the Seattle Mariners.