Cresce calcisticamente nelle giovanili dell'Atalanta senza approdare mai in prima squadra, ma vincendo con la Primavera di Cesare Prandelliscudetto e Torneo di Viareggio nella stagione 1992-1993. La sua prima esperienza da professionista è in Serie C1, in prestito al Fiorenzuola nella stagione 1993-1994 (29 presenze, un gol). Sempre in Serie C1 gioca con le maglie di Ravenna (stagione 1994-1995, 26 presenze ed un gol) e Monza (1995-1996, 13 presenze), con un breve passaggio nel Cesena (3 presenze) con il quale esordisce in Serie B. Nel 1996, dopo tre stagioni in prestito, l'Atalanta non lo riconferma,[5] e il giocatore riparte dall'Ascoli, sempre in terza serie (1996-1997, 28 presenze e 2 gol).
Nell'estate del 1997 viene acquistato dal Lecce, allenato da Cesare Prandelli che lo aveva avuto nelle giovanili atalantine. Con i salentini debutta in Serie A nel 1997-1998 e in tre campionati di Serie A ed uno di Serie B colleziona in totale 110 presenze e 3 gol, numeri che gli valgono nel 1999 la fascia di capitano, conservata fino al 2001.[6]
Venezia, Palermo e vari prestiti
Nel 2001 lascia il Lecce per il Venezia di Maurizio Zamparini, che lo paga 5 milioni di euro[7] (Serie A 2001-2002, 15 presenze). Nelle due stagioni successive ancora esperienze nella massima serie con Perugia (2002-2003, 11 presenze) ed Ancona (13 presenze, un gol) in prestito dal Palermo, nuova squadra di Zamparini in cui portò molti giocatori del Venezia.
Fiorentina, Treviso e Cremonese
Il 2 gennaio 2004 passa a titolo definitivo alla Fiorentina (Serie B 2003-2004, 19 presenze)[8] e ottiene la promozione in Serie A con i viola, che lo riconfermano anche per la stagione successiva. Nell'estate 2005, non avendo spazio nella rinnovata Fiorentina di Cesare Prandelli, si trasferisce in prestito al Treviso, neopromosso in Serie A.[9] Nella formazione veneta gioca da titolare, senza poter evitare la prematura retrocessione in Serie B, e nel mercato invernale di quello stesso anno viene riscattato completamente, nell'ambito della cessione di Francesco Parravicini alla Fiorentina.[10] Rimane al Treviso anche nelle due successive stagioni di Serie B, fino al gennaio 2008, quando viene acquistato dalla Cremonese allenata da Emiliano Mondonico, in Serie C1.[11]
Il suo impiego nella gara di Coppa Italia 2008-2009 tra Cremonese e Reggiana del 9 agosto 2008, vinta sul campo dai lombardi per 1-0, è costata alla squadra grigiorossa la sconfitta a tavolino per 3-0 poiché Viali era stato schierato in campo nonostante la squalifica di un turno subita un anno prima, quando militava nel Treviso.[12]
Allenatore
Gli inizi
Rimasto svincolato dopo la stagione 2009-2010, inizia ad allenarsi con il Fiorenzuola, squadra militante in Serie D, in attesa di un tesseramento; nel frattempo durante l'estate ha conseguito il patentino di allenatore ed in seguito alle dimissioni dell'allenatore Natalino Gottardo, a settembre diviene il nuovo tecnico della società piacentina.[13] Lascia l'incarico a fine stagione, sostituito da Settimio Lucci.[14]
Dal gennaio 2012 allena gli Allievi Nazionali B del Parma.[15] A fine stagione lascia l'incarico e il 3 settembre 2012 viene nominato allenatore del Piacenza, militante in Eccellenza emiliana, in seguito all'esonero di Carlo Sozzi.[16] Con gli emiliani vince il campionato con due turni di anticipo.[17]
Il 10 dicembre 2012 inizia a frequentare a Coverciano il corso di abilitazione per il master di allenatori professionisti Prima Categoria-Uefa Pro,[18] conseguendo il patentino il 5 luglio 2013.[19]
Il 29 ottobre seguente, a seguito di un avvio di stagione negativo, viene esonerato dal club emiliano e sostituito da Roberto Venturato.[20][21] L'8 gennaio successivo viene richiamato dal Piacenza, a causa dei risultati negativi ottenuti dal suo successore.[22][23] Conclude la stagione al terzo posto e con l'eliminazione ai playoff, dopo i quali lascia definitivamente la panchina emiliana.[24]
Nel giugno 2015 subentra ad Arnaldo Franzini sulla panchina del Pro Piacenza,[25] che conduce alla salvezza nel campionato di Lega Pro dopo aver battuto l'AlbinoLeffe ai play-out.
Südtirol, Cuneo e Novara
L'8 giugno 2016, dopo aver conquistato la salvezza ai play-out con la squadra emiliana, diventa il nuovo allenatore del Südtirol, firmando un contratto annuale con opzione per il rinnovo.[26] Viene esonerato il 13 marzo 2017, dopo due sconfitte consecutive, con la squadra a soli tre punti di margine dalla zona play-out.[27]
Il 5 dicembre 2017 viene ingaggiato per subentrare all'esonerato Massimo Gardano sulla panchina del Cuneo,[28] nel girone A del campionato di Serie C; pur trascorrendo l'intero campionato nelle retrovie, riesce infine a centrare la salvezza battendo il Gavorrano ai play-out.
Il 14 giugno 2018 prende il posto di Domenico Di Carlo alla guida del Novara, neo retrocesso in Serie C.[29] Viene esonerato il 19 febbraio 2019 con la squadra in nona posizione,[30] ma viene richiamato il 5 maggio a campionato finito e con la squadra qualificata ai play-off.[31] Dopo aver battuto il Siena per 0-1, il Novara esce al secondo turno per via del miglior piazzamento dell’Arezzo (dopo il 2-2 dei tempi regolamentari). Il 4 giugno viene annunciato che non avrebbe rinnovato il proprio contratto con il club piemontese.[32]
Cesena
Il 28 gennaio 2020 viene scelto per sostituire Francesco Modesto sulla panchina del Cesena,[33] traghettando la squadra al tredicesimo posto. Confermato sulla panchina romagnola, nell'annata seguente chiude al settimo posto il proprio girone; ai play-off la squadra viene eliminata al secondo turno per mano del Matelica. Nella stagione 2021-2022 l'undici di Viali migliora il piazzamento in classifica, concludendo il proprio girone al terzo posto; tuttavia sono ancora fatali i play-off, dove i bianconeri vengono subito eliminati dal Monopoli al primo turno della fase nazionale. Al termine di quest'ultima gara, il tecnico rassegna le dimissioni dopo due anni e mezzo in Romagna.[34]
Cosenza, Ascoli e ritorno al Cosenza
Il 2 novembre 2022 firma un contratto di sette mesi con il Cosenza, in quel momento quintultimo in Serie B, sostituendo l'esonerato Davide Dionigi.[35] Raccoglie 29 punti in 27 partite e termina la stagione regolare al quartultimo posto portando così i calabresi a disputare i play-out, dove ha la meglio sul Brescia, con la vittoria per 1-0 all'andata in casa e un pari per 1-1 al ritorno,[36] poi tramutato in 0-3 dalla giustizia sportiva.[37]
Il 19 giugno 2023 diventa il nuovo tecnico dell'Ascoli, con cui firma un biennale.[38] Viene esonerato il 13 novembre seguente con la squadra al quartultimo posto in classifica con 12 punti raccolti nelle prime 12 gare.[39]
L'11 marzo 2024, dopo aver risolto il contratto con la squadra marchigiana,[40] a seguito dell'esonero di Fabio Caserta, viene richiamato dal Cosenza, in quel momento quattordicesimo con 34 punti dopo 29 turni, firmando un contratto fino al 30 giugno 2025.[41] Termina il campionato al nono posto a quattro punti dai play-off e dai play-out. Il 14 giugno 2024, viene rescisso il suo contratto con i rossoblù, insieme al suo vice Massimiliano Guidetti.[42]
Reggiana
Il 19 giugno 2024 firma un contratto annuale con la Reggiana.[43]