Соня О’Салливан родилась в городе Кав (ирл. Cobh) графства Корк. В возрасте семнадцати лет она выиграла национальный чемпионат мира по кроссу как в юниорском, так и во взрослом разряде. Первым международным стартом для неё стал европейский чемпионат по лёгкой атлетике в Сплите в 1990 году, где она заняла 11 место на дистанции 3000 метров. Однако результаты юной бегуньи быстро росли — уже в следующем году она побила мировой рекорд для залов на дистанции 5000 метров.
На Олимпийских играх 1992 года в Барселоне О’Салливан участвовала в беге на полторы тысячи и три тысячи метров. На нехарактерной для себя полуторке, относящейся к средним дистанциям, Соня не смогла выйти в финал, а на трёх километрах стала четвёртой.
Вскоре пришли и первые победы на крупных международных стартах, в 1994 году Соня выиграла на трёх километрах европейское первенство, а в следующем — чемпионате мира 1995 в Гётеборге на пяти километрах.
Вторая для спортсменки Олимпиада 1996 года в Атланте вновь принесла сплошные разочарования. На дистанции 5 километров О’Салливан была безусловным фаворитом, выиграла предварительный старт, однако в финальном забеге сошла с трассы из-за резких болей в желудке. Также неудачно прошёл для спортсменки и старт на 1500 метров, там ирландка не отобралась в финал.
После перерыва в карьере, связанного с рождением дочери, 1998 год принёс Соне несколько больших успехов — два золота (5 и 10 км) на европейском чемпионате в Будапеште и два золота (8 и 4 км) на мировом первенстве по кроссу в Марракеше. Олимпиада в Сиднее в 2000 году стала для Сони третьей, на ней она смогла наконец завоевать олимпийскую медаль, став второй в забеге на 5 километров, уступив лишь Габриэле Сабо из Румынии и опередив ещё одну фаворитку — Гете Вами из Эфиопии. Соня О’Салливан стала первой в истории Ирландии легкоатлеткой — олимпийским призёром. На олимпийской дистанции 10000 метров О’Салливан финишировала шестой. Вновь вернувшись в большой спорт после рождения второй дочери в 2002 году О’Салливан дважды стала второй на европейском чемпионате в Мюнхене.
После этого карьера спортсменки пошла на спад, больших успехов она не добивалась. На Олимпиаде в Афинах в 2004 году она квалифицировалась в финал дистанции 5000 метров, по ходу забега почувствовала себя плохо, однако приняла решение добежать дистанцию и, хотя она финишировала последней, трибуны устроили ей овацию. В 2006 году О’Салливан приняла двойное ирландско-австралийское гражданство, намереваясь выступать за Австралию на Играх Содружества и за Ирландию на остальных стартах. Впрочем Игры Содружества 2006 года в Мельбурне она пропустила из-за травмы. В 2007 году 38-летняя спортсменка проинформировала, что этот год будет последним в её карьере