Стилиян начинал карьеру в родном городе Монтана в одноимённой команде. В 1997 году он перешёл в софийский ЦСКА, а ещё через два года переехал в Шотландию, где начал играть за «Селтик». С этой командой Петров добился серьёзного успеха, став чемпионом страны, обладателем Кубка Шотландии и Кубка Лиги, а также приняв участие в финале Кубка УЕФА в 2003 году, в котором «Селтик» в дополнительное время уступил «Порту».
В апреле 2006 года Петров, который был капитаном «Селтика», в письменной форме запросил у руководства клуба трансфер в «Астон Виллу», которую возглавил бывший наставник «Селтика» Мартин О'Нил, однако ему было отказано. Тем не менее, 30 августа 2006 года бирмингемский клуб всё же выкупил Стилияна у «Селтика» за шесть с половиной миллионов фунтов (сумма может возрасти до 8 миллионов в будущем). Петров подписал с новой командой контракт сроком на четыре года. Несмотря на то, что Стилиян регулярно появляется на поле в матчах «Астон Виллы», он пока не демонстрирует той формы, благодаря которой заслужил уважение болельщиков «Селтика» и сборной Болгарии.
24 марта 2012 года после матча 30 тура английской Премьер-лиги против «Арсенала» Петров почувствовал себя плохо. 30 марта ему был поставлен диагноз — острый лейкоз. Однако, как заявил 31 марта его агент, завершать игровую карьеру Петров не собирается: «Это не правда, что Петров решил завершить свою карьеру. Он только сказал, что будет бороться и сражаться за свою жизнь».
С 2003 года, после того, как Красимир Балаков завершил международную карьеру, Стилиян являлся капитаном сборной Болгарии. Однако его отказ выступать за национальную команду, пока ей руководит Христо Стоичков, и последовавшее через полгода возвращение стали причиной того, что капитанскую повязку вместо него получил Димитар Бербатов. В 2004 году на Чемпионате Европы в Португалии Петров был удалён с поля в матче против команды Дании.