Haggard wurde 1993 Tennisprofi und nahm außer am Anfang seiner Karriere ausschließlich im Doppel an ATP-Turnieren teil. Im Einzel spielte er zwar zahlreiche Challenger-Turniere, qualifizierte sich jedoch nur zweimal für ein Turnier der ATP Tour. Dort scheiterte er jeweils im Queen’s Club, 1996 in der zweiten Runde an Boris Becker und 1997 schon in der ersten Runde. Über das Spiel gegen Becker sagte er jedoch, dass für ihn ein Traum wahr wurde, weil seine großen Jugendidole Becker und John McEnroe waren.
Im Doppel stand er achtzehn Mal in einem Finale und konnte sechs dieser Turniere gewinnen. Bei Grand-Slam-Turnieren war Haggards größter Erfolg der Einzug ins Halbfinale der Australian Open 2003 an der Seite von Landsmann Jeff Coetzee. Im Davis Cup stand er fünfmal für Südafrika im Doppel auf dem Platz und konnte drei dieser Begegnungen für sich entscheiden.
Sein letztes ATP-Turnier bestritt er im Mai 2009 in München. Danach bestritt er noch bis 2016 vereinzelt Future-Turniere.
Erfolge
Legende (Anzahl der Siege)
Grand Slam
Tennis Masters Cup ATP World Tour Finals
ATP Masters Series ATP World Tour Masters 1000
ATP International Series Gold ATP World Tour 500 (1)