Cahill struck out 11 and allowed one unearned run in 5 2/3 innings against a lineup composed of Rangers Minor Leaguers.
"All their guys weren't here, so it was kind of a good day for him to just come out and relax," D-backs manager Kirk Gibson said.
Cahill finished the spring with a 1.86 ERA and is slated to start the second game of the season Tuesday against the Cardinals.
"I felt a lot better today than I have," Cahill said. "I was throwing my sinker for strikes and throwing to both sides of the plate, which I feel like is the first time I've done that consistently this spring. Just command of everything [today]. I feel like so far this spring it's been one or two pitches not all four, but I felt like I had all four today."
Cahill threw 88 pitches, 63 for strikes.
"Going a little bit longer, stretching it out a little bit," Cahill said of his longest outing of the spring. "Just hopefully my body bounces back for Tuesday."