Stephan Keller war im Nachwuchs des Grasshopper Club Zürich ausgebildet worden, bevor er sich bei Neuchâtel Xamax in der Nationalliga A etablieren konnte. In der Folge spielte er für den SC Kriens und den FC Zürich. Zu dieser Zeit war er auch U21-Nationalspieler und gehörte zu den «Titanen», welche es 2002 im eigenen Land bis ins EM-Halbfinale schafften. Dreimal wurde er unter Köbi Kuhn auch in Freundschaftsspielen der A-Nati eingesetzt. In der Rückrunde der Saison 2003/04 absolvierte er zwölf Pflichtspiele für den FC Aarau, ehe er über den FC Rot-Weiss Erfurt (2. Bundesliga) nach Holland weiterzog. In der Eredivisie spielte der gross gewachsene Innenverteidiger für RKC Waalwijk und BV De Graafschap (96 Spiele). Danach war er während zwei Spielzeiten in der A-League für den Sydney FC aktiv, um seine aktive Laufbahn schliesslich bei Willem II in den Niederlanden zu beenden.

In seiner zweiten Heimat lancierte er auch seine Trainerkarriere als U17-Assistenzcoach in der renommierten Jugendakademie des PSV Eindhoven; später war der UEFA-Pro-Lizenz-Inhaber als Cheftrainer im Nachwuchs von NAC Breda angestellt. Zwischen 2017 und 2020 war er bereits als Assistenzcoach im Brügglifeld aktiv, ehe er zum Cheftrainer ernannt wurde. Dabei hatte er das FCA-Fanionteam in der Saison 2017/18 bereits einmal während elf Spielen – gemeinsam mit Ton Verkerk – als interimistischer Übungsleiter geführt.