Seine Karriere begann bei Dinamo Riga in der Sowjetischen Liga in der Saison 1986/87 als Ersatztorhüter. In der folgenden Saison stieg er – bedingt durch die Verletzung von Vitālijs Samoilovs – zum Stammtorhüter auf und führte in seiner ersten vollen Saison Dinamo Riga zum sowjetischen Vizemeistertitel. In den Jahren 1989 und 1990 spielte er für die sowjetische Eishockeynationalmannschaft bei den Weltmeisterschaften, die in beiden Jahren den Titel davontrug. Im NHL Entry Draft 1989 wurde er von den Minnesota North Stars (jetzt Dallas Stars) in der zehnten Runde an 196. Stelle ausgewählt.
Im Jahr 1991 weigerte er sich, für die sowjetische Nationalmannschaft zu spielen, da Lettland die Unabhängigkeit von der Sowjetunion verkündet hatte, die Sowjets diese aber militärisch zu unterdrücken versuchten.
Seine ersten NHL-Spiele bestritt er für die San Jose Sharks in der Saison 1991/92. Nach zwei eher schwachen Saisons gelang den Sharks zum ersten Mal in der noch jungen Vereinsgeschichte überhaupt in der Saison 1993/94 der Einzug in die Playoffs, man schaltete die Detroit Red Wings aus und verlor gegen die Toronto Maple Leafs nur knapp mit 3:4 Spielen.
Im Sommer nach der erfolgreichen Saison wurde Irbe von seinem eigenen Hund angefallen und schwer verletzt. Obwohl er wieder spielen konnte, brachte er lange nicht die volle Leistung, wurde 1996 an die Dallas Stars und von diesen 1997 an die Vancouver Canucks abgegeben. Erst mit dem Wechsel zu den Carolina Hurricanes im Jahr 1998 ging seine Karriere wieder bergauf. In der Saison 2001/02 führte er die Hurricanes in das Stanley Cup Finale, in dem man mit 4:1 gegen die Detroit Red Wings verlor. Im Jahr 2004 wurde er an die Columbus Blue Jackets abgegeben, kam aber nur in AHL- und ECHL-Farmteams zum Einsatz. In der Saison 2005/06 wechselte er schließlich nach Österreich zu den Red Bulls Salzburg.
(Legende zur Torhüterstatistik: GP oder Sp = Spiele insgesamt; W oder S = Siege; L oder N = Niederlagen; T oder U oder OT = Unentschieden oder Overtime- bzw. Shootout-Niederlage; Min. = Minuten; SOG oder SaT = Schüsse aufs Tor; GA oder GT = Gegentore; SO = Shutouts; GAA oder GTS = Gegentorschnitt; Sv% oder SVS% = Fangquote; EN = Empty Net Goal; 1Play-downs/Relegation; Kursiv: Statistik nicht vollständig)