Nato a Cardiff, iniziò a giocare come attaccante nel Cardiff City a 16 anni. Con i rossoblù vinse quattro Coppe del Galles (1967, 1968, 1969 e 1970). A ventuno anni fu notato da Bill Shankly e da lui fu acquistato per il Liverpool per 110.000 £. Il suo debutto in First Division fu il 14 novembre 1970 contro il Coventry City. Segnò il primo gol il 21 novembre, nella spettacolare rimonta contro l'Everton (da 0-2 a 3-2). Toshack segnò il 2-2 e questo gli diede una grandissima popolarità tra i tifosi dei Reds.
Durante la stagione successiva arrivò Kevin Keegan, con cui Toshack formò una coppia d'attacco affiatatissima e formidabile. A proposito, David Coleman disse: «Toshack, Keegan, one nil!» (cioè Toshack-Keegan, 1-0). La rivista sportiva Shoot li accostò ai personaggi dei cartoni animatiBatman e Robin, facendo anche un servizio fotografico della coppia in costume da paladini della giustizia.
Keegan aveva segnato 100 gol esatti quando lasciò Toshack e il Liverpool per andare all'Amburgo e la maggior parte erano stati frutto degli assist dell'attaccante gallese. Toshack invece segnò 96 reti nella sua prima esperienza con i Red, vincendo i campionati del 1973, 1976 e 1977, la Coppa dei Campioni1976-77, l'F.A. Cup 1974, il Charity Shield nel 1976 e la Coppa UEFA nel 1973 e 1976. In totale ha disputato 246 partite (con 96 gol) in First Division con la maglia del Liverpool.
Segnato da vari infortuni, nel 1978 tornò in Galles per giocare con lo Swansea City, dove iniziò anche ad allenare. Lasciò il calcio giocato nel 1983.
Nazionale
Giocò anche per la nazionale gallese, dalle giovanili fino alla prima squadra, segnando 12 reti in 40 presenze.
Allenatore
Toshack portò il grande calcio al Vetch Field: grazie a tre promozioni consecutive, lo Swansea City passò dalla Fourth Division (quarto livello) alla First Division (primo livello). Nel 1981 lo Swansea esordì nella massima divisione inglese, ottenendo la salvezza. Toshack fu anche insignito del titolo di cavaliere dell'Ordine dell'Impero Britannico per meriti sportivi. Si dimise nell'ottobre 1983, e due mesi dopo lo Swansea lo richiamò sulla propria panchina.
Viene esonerato il 17 febbraio 1997. In estate lascia la Spagna per tentare l'avventura in Turchia. Il 1º luglio viene ingaggiato dal Beşiktaş, vince la Coppa di Turchia e a metà della stagione il 24 febbraio 1999 abbandona la squadra per tornare al Real Madrid. La seconda stagione resiste appena 11 partite e il 17 novembre la squadra madridista lo licenzia. A questo punto Toshack inizia a girovagare per l'Europa con poca fortuna: dal 7 ottobre 2000 al Saint-Étienne, che lascia dopo 12 partite il 22 dicembre per tornare ancora al Real Sociedad, rimanendo fino all'11 marzo 2002, dal 9 novembre 2002 al 28 gennaio 2003 guida il Catania e il 19 gennaio 2004 è alla guida del Real Murcia, fino al 30 giugno. Toshack venne anche soprannominato "Tisky Tosky" dai tifosi siciliani, nella breve permanenza sulla panchina etnea, in quanto la pronuncia del nome molto spesso veniva storpiata.
Il 12 novembre 2004 è subentrato a Mark Hughes alla guida del Galles, si dimette il 9 novembre 2010 a pochi giorni dalla sconfitta contro il Montenegro, nella gara d'esordio delle qualificazioni per Euro 2012.
Il 7 agosto 2011 firma il contratto con la federazione macedone, è subentrato a Mirsad Jonuz, ma il 13 agosto 2012 viene sollevato dall'incarico.
L'8 marzo 2013 viene annunciato che, a partire dal 15 marzo, sarà l'allenatore del FK Xəzər-Lənkəran che milita nella Premyer Liqası. Rimane fino al 23 novembre. Nella stagione 2014-2015 allena il WAC (Wydad Casablanca), con cui conquista il titolo di campione del Marocco[2].