From the moment he had surgery on his left knee last August to the steps he took leaving Sunday's 3-1 victory over the Houston Astros, this has gone as he planned.
Richards flirted with a special afternoon, weaving a no-hitter through six innings, then settled for a good one after giving up a Jason Castro single with one out in the seventh. Richards (3-1) struck out 10 and lowered his earned-run average to 2.27.
All part of his rehabilitation blueprint.
"From Day 1, I knew I was going to be back within a month or so [after the season started]," Richards said. "I have been moving in the right direction and I have never thought anything different."
The Astros can attest to his progress.
Richards sat out the first 11 games of the season, then drew his first start in Houston. He wobbled a little through five innings in a 4-3 loss. On Sunday, it was the Astros who were off balance.
"Whatever template we had, he was always on the earliest window, from when he started to throw to when he was off the mound to when he was in a rehab game," Angels Manager Mike Scioscia said. "We were very fortunate that he came back throwing the ball as well as he did last season."
Last season was good, until Richards tore up his knee covering first base against Boston on Aug. 20. He was a Cy Young Award candidate before the injury, with a 13-4 record and 2.61 ERA.
This season is getting there.
"I feel like it is only getting better with every start," Richards said. "I'm starting to get back to doing some things I did last year, throwing the cutter in to lefties and mixing in the slider on good counts. Most importantly, I'm attacking hitters, going after guys and not giving anyone too much credit."
The Astros felt the brunt of that and had few answers for Richards. He walked Jake Marisnick to open the game, then retired the next 15 batters before walking Preston Tucker in the sixth inning.
"His stuff was really, really good," Scioscia said. "Maybe his fastball command wasn't as crisp, but the fact he threw some breaking balls in off counts was important."
Richards consistently hit 96-97 mph with his fastball. He also tangled up Astros batters with breaking balls, particularly his slider.
"That was definitely the pitch that got me back into counts when I fell behind," Richards said. "It will give a guy a different look. In a fastball count, a guy will roll over a slider."
The Astros rolled over quickly. Richards needed only 60 pitches to get through five innings. After that, the pitch count worked against him.
The Angels had only six hits, but four came in the fifth inning, when they scored all their runs. Richards labored a little in the sixth, but kept the no-hitter intact, not that it was foremost in his mind.
"I don't feel like you should start thinking about something like that until you go out in the ninth inning," Richards said. "There are a lot of things that can happen between the sixth inning and ninth inning."
Things happened in the seventh. Richards walked the first two batters and, one out later, Castro lined a single to right to load the bases.
"I left a slider up and he was ready for it," Richards said.
With two outs, Richards hit Tucker to force in a run. He was pulled, after throwing 110 pitches, and left to a standing ovation.
"Some things started to unravel as his outing got a little longer," Scioscia said. Richards walked four, "the only fly in the ointment," Scioscia said.
That, it seems, is the next step in Richards' comeback schedule.
"The walks are what they are," he said. "It's something I want to cut down on, but at the same time, we're all human. I feel like that will come with me tightening things up."
Follow Chris Foster on Twitter @cfosterlatimes