The Detroit Tigers took Keller in the fourth round, and he reported to the Gulf Coast Tigers. Keller was pleased, remarking that "Coming from where I was supposed to be drafted, anywhere in the top five rounds was fine."[5] Keller finished out the year in the Gulf Coast League, going 1–1 with a 2.38 ERA in six starts. Keller spent the next two years with the Low-A Jamestown Jammers and underwent a conversion from a starting pitcher to a closer. In 1998 he saved eight games and lowered his ERA to 3.27. The next the Tigers rewarded Keller with a promotion to the Single-A West Michigan Whitecaps where he went 5–3 as a relief pitcher with an additional eight saves and a 2.92 ERA. In 2000 moved up to the Double-A Jacksonville Suns. For Keller, it was an opportunity to pitch for a team which he had watched as a child: "It's been an awesome experience, playing again in front of my parents and buddies." Although Keller exhibited some control problems he saved 26 games with a 2.91 ERA.[6] His 26 saves led the Southern League.[7] At the end of the year Keller was considered a "top-flight closer."[8]
The Tigers moved Keller up to the Triple-A Toledo Mud Hens for 2001 where his ERA ballooned to 4.48, his highest since 1997. Returning to Toledo for 2002, Keller lowered his ERA to 2.08 and commanded a fastball in the high 90s.[9] On May 24 Keller received the call and headed for Detroit in place of Oscar Salazar. Keller made his major league debut that same evening in a game against the Chicago White Sox. Keller entered in the bottom of the 8th inning with Chicago already up 9–1 and gave up a three-run home run to Magglio Ordóñez.[10] His one inning pitched that day proved to be the only inning he would pitch in the Major Leagues.[11]
The next day the Tigers placed Keller on the disabled list with a "strained right triceps" and on June 20 traded him to the Atlanta Braves for outfielder George Lombard.[12]
Atlanta assigned Keller to the Richmond Braves, their Triple-A affiliate. John Schuerholz, Atlanta's general manager, was optimistic about Keller: "We've got good reports on the guy and we think he's got the chance to give us another real power arm."[12] Keller finished out the 2002 season with Richmond, going 1–0 with a 3.60 ERA. At the end of the year the Braves took Keller off the 40-man roster; without a contract and concerned by the strength of Atlanta's bullpen, was granted free agency and signed with the San Diego Padres, who sent him to the Triple-A Portland Beavers. The Padres released him in May after a rough start; in 18 appearances Keller was 1–1 with a 5.63 ERA. The Cincinnati Reds signed Keller to a minor league contract, and he spent the majority of the season with the Double-A Chattanooga Lookouts, minus a short stint with the Triple-A Louisville Bats.[13]
The Reds granted Keller free agency at the end of the year and he signed with the Chicago White Sox, who assigned him to the Double-A Birmingham Barons. At the end of May Chicago released Keller; in fifteen appearances he was 0–3 with an 8.25 ERA. The Texas Rangers picked up Keller and sent him to the Double-A Frisco RoughRiders, but after Keller posted a 7.94 ERA in fourteen appearances Texas released him as well, marking the end of his professional career.[14]