He was one of a number of pitchers the San Francisco Giants acquired in mid-year in 1987, when they won a division title; Craig pitched well after his acquisition, going 3-3, 3.23 in 44 games with San Francisco and ran his scoreless postseason streak to 12 innings with three runless appearances in the 1987 NLCS. In 1989, the Giants gave him a chance to close games on a regular basis, and he responded with 20 saves, then reached that total the next two seasons while back with the Padres. In 1992, the Padres decided to use him as a starter, and it worked out quite well: in 27 starts for the team, he went 13-9 with a 3.69 ERA, good enough for the Baltimore Orioles to acquire him in order to use him as a starter in an unsuccessful late-season playoff run. Overall, he was 14-12, 3.76 in 196 innings between the two teams, all career highs. After the season, he signed as a free agent with the Texas Rangers, but was hit hard as a starter early in 1993 and went back to the bullpen, where he finished the season 3-9, 6.05. He then pitched one more year, for the California Angels in 1994, before calling it quits.