The move was expected because Richards was earmarked to make his MLB debut against the Red Sox on Monday night at Marlins Park.
Gonzalez was actually selected to the roster on Sunday for the series finale against the Cubs. After Miami played back-to-back extra-inning games, the 25-year-old was called upon to provide depth. But he didn't get into the game, which the Marlins won, 6-0.
With Richards in the fold, the Marlins will keep going with 13 pitchers and 12 position players. Manager Don Mattingly had a fifth bench player for the first three games, but moving forward, the club plans on having eight relievers and four bench players.
Gonzalez, who last pitched in the big leagues in 2016 with the Phillies, was designated for assignment in Spring Training after outfielder Cameron Maybin signed as a free agent. At that point, Gonzalez cleared waivers and was outrighted to Minor League camp.
The Marlins needed to create a 40-man spot for Richards.