È un giocatore mancino che ha disputato prevalentemente tornei nei circuiti minori raccogliendo diversi successi. Il suo migliore ranking ATP in singolare è stato l'84º posto nel luglio 2017, mentre in doppio non è andato oltre il 171º dell'ottobre 2013. Ha vinto il suo unico incontro nelle prove del Grande Slam in singolare agli US Open 2016. Ha raggiunto una semifinale negli altri tornei del circuito maggiore al Croatia Open Umag 2017.
Il suo rendimento in singolare ha avuto un costante miglioramento tra il 2010 e 2012, ma una serie di infortuni e problemi fisici hanno compromesso le sue prestazioni fino a costringerlo a uno stop prolungato alla fine del 2014. È tornato a buoni livelli e a inizio 2017 è diventato per la prima volta il quarto italiano nella classifica mondiale, dietro Lorenzi, Fognini e Seppi. Nel 2017 ha vinto l'unico incontro disputato con la squadra italiana di Coppa Davis.
Carriera 2006-2009: inizi tra i professionisti e primi titoli Futures in doppio Fa le sue prime rare apparizioni tra i professionisti tra il 2006 e il 2008 in tornei dei circuiti Futures e Challenger, perde in singolare tutti gli incontri a eccezione del Futures Italy F34 dell'ottobre 2008, dove vince i primi match di specialità in carriera e si spinge fino ai quarti di finale. Nello stesso torneo raggiunge la sua prima finale in doppio. Inizia a giocare a tempo pieno nel 2009 e raggiunge in singolare alcune volte i quarti di finale in tornei Futures. In doppio, dopo aver perso altre tre finali, vince il primo titolo ad agosto all'Italy F25 in coppia con Claudio Grassi e si ripete il mese dopo vincendo l'Italy F29 assieme a Federico Gaio.
2010-2011: primi titoli Futures in singolare, prime apparizioni nel circuito ATP e 133º nel ranking All'inizio del 2010 non va oltre i quarti di finale in un Futures statunitense; a maggio disputa per la prima volta le qualificazioni nel circuito maggiore agli Internazionali d'Italia e viene subito eliminato. Subito dopo disputa in doppio la sua prima semifinale Challenger a Sanremo, persa in coppia con Gaio. Nel torneo di singolare vince contro Dominik Hrbatý il primo match di specialità in un tabellone Challenger ed esce al secondo turno. Nel corso della stagione raggiungerà in singolare il secondo turno nei Challenger altre volte e a novembre alza il suo primo trofeo da professionista in singolare sconfiggendo in finale il nº 353 ATP Javier Marti in due set al torneo Futures Spain F40 di Madrid. Nel 2010 vince anche tre titoli Futures in doppio e raggiunge la 236ª posizione al mondo in questa specialità; in singolare non va oltre la 494ª.
Inizia la stagione 2011 a marzo e raggiunge in tornei Futures turchi una finale e una semifinale. Ad aprile supera in un Futures di Roma Stefano Galvani e Matteo Trevisan e cede in finale contro Daniele Giorgini. Vince il suo secondo titolo Futures in singolare a maggio ad Aosta ed entra per la prima volta nella top 400. Dopo un altro Futures vinto a Viterbo, a fine giugno raggiunge la sua prima semifinale Challenger a Torino e si arrende alla superiorità di Albert Ramos Viñolas dopo aver eliminato il top 60 Daniel Gimeno Traver. Al Challenger di San Benedetto del Tronto raggiunge i quarti e perde le successive finali ai Futures Italy F20 di La Spezia ed F22 di Appiano, dove vince il suo sesto titolo Futures di doppio in coppia con Stefano Ianni.
Dopo la semifinale al Challenger di Cordenons, fa la sua prima esperienza in un torneo del Grande Slam agli US Open ed esce al primo turno di qualificazione. Raggiunge i quarti al Genoa Open e allo Szczecin Open e per la prima volta entra nella top 200, alla 183ª posizione. A settembre supera per la prima volta le qualificazioni in un torneo ATP al Romanian Opena, al primo turno elimina la testa di serie nº 8 Albert Montañés per 7-5, 6-4, sconfigge poi in tre set Frederico Gil e perde nei quarti di finale contro Pablo Andújar per 6-3, 6-3. Questi risultati gli valgono la 157ª posizione nel ranking. A Napoli disputa per la prima volta in carriera una finale Challenger in singolare: supera Enrico Burzi, Marco Crugnola, Antonio Veić e in semifinale Adrian Ungur,cede in finale al nº 117 al mondo Leonardo Mayer, che si impone per 6-3, 6-4. A novembre porta il miglior ranking al 133º posto mondiale. In doppio vince in stagione un titolo Futures, raggiunge due semifinali Challenger e non compie progressi nel ranking.
2012: prima partecipazione a un Masters 1000 Grazie alla buona posizione nel ranking, Giannessi può iniziare la stagione tentando la qualificazione nei tornei del circuito maggiore. Fallito l'accesso nel tabellone principale nei 250 di Viña del Mar, San Paolo e Buenos Aires, supera le qualificazioni nel 500 di Acapulco ed esce al primo turno per mano di Potito Starace. Dopo alcuni risultati negativi nei Challenger, supera per la prima volta le qualificazioni in un Master 1000 a Monte Carlo con i successi sul nº 70 del mondo Stachovs'kyj e su Gimeno Traver. Cede di nuovo al primo turno del tabellone principale, stavolta in due set contro Filippo Volandri. Esce nelle qualificazioni alla sua prima esperienza a Wimbledon
Sempre passando dalle qualificazioni, a luglio accede al 250 di Båstad, batte in tre set Michael Berrer e perde al secondo turno contro Gimeno Traver. Nello stesso torneo disputa l'unico incontro dell'anno in doppio in un torneo del circuito maggiore, in coppia con Bolelli. A fine mese è ammesso direttamente al tabellone principale di Kitzbühel e perde di nuovo al primo turno contro Volandri. Esce per la seconda volta alle qualificazioni degli US Open dopo aver battuto Estrella Burgos al primo turno. Nella parte finale della stagione gioca senza successo nei tornei Challenger, non riesce a confermare i punti del 2011 e chiude il 2012 al 260º posto della classifica ATP.
2013, primo titolo Challenger e 171º del ranking in doppio La stagione di Giannessi inizia in Australia dove perde tutti gli incontri in alcuni tornei Challenger e alle qualificazioni degli Australian Open. Esce invece al secondo incontro nelle qualificazioni all'ATP 250 di Marsiglia e di nuovo al primo nelle qualificazioni a Casablanca e a Monte Carlo, risultati con cui esce dai primi 300 del ranking ATP. Non va oltre il secondo turno alle qualificazioni dell'ATP di Bucarest. La settimana successiva torna a giocare una finale Challenger a Napoli dopo la vittoria in semifinale su Volandri e si ritira durante il match decisivo contro Potito Starace. Eliminato nelle qualificazioni al Masters di Roma e all'ATP 250 di Nizza, a giugno e luglio non supera i quarti nei tornei Challenger e vince il Futures a La Spezia battendo in finale Daniele Giorgini per 6-2, 6-3. Questo trofeo è l'unico in singolare di una stagione che chiude senza altri risultati di rilievo alla 279ª posizione.
Durante l'anno i migliori risultati arrivano nei tornei Challenger di doppio; si aggiudica in coppia con Gianluca Naso il primo titolo di categoria a Meknes, che sarà anche il suo ultimo torneo vinto in doppio. Raggiunge quindi la finale anche a Napoli in coppia con Golubev, a Caltanissetta con Starace, a San Benedetto di nuovo insieme a Naso e a Stettino con Arnaboldi. Grazie a questi risultati a ottobre si porta alla 171ª posizione, che rimarrà il miglior ranking di doppio in carriera.
2014 - 2015 : intervento al polso e rientro Nella prima parte del 2014 esce sempre nelle qualificazioni nel circuito principale e le supera solo a maggio al Düsseldorf Open, dove esce poi al primo turno contro Jason Kubler. La seconda metà dell'anno si dedica interamente a tornei Challenger, ma con pochi risultati di rilievo: solo a San Marino raggiunge la semifinale. A fine anno Giannessi si trova relegato alla 369ª posizione in singolare, la più bassa dal giugno 2011. Ancora più evidente il calo in doppio dove non riesce a replicare la buona stagione precedente, soltanto a Todi in luglio raggiunge la semifinale e scivola oltre la top 500. A dicembre, dopo una stagione martoriata da infortuni muscolari, si opera al polso destro, che molti problemi gli aveva procurato durante l'anno.
Rientra alle competizioni nel maggio 2015 ripartendo dalla 457ª posizione mondiale e dai tornei Futures. Torna in finale nel Futures di Lecco e si arrende a Gianluca Naso in tre set. Recuperate circa cento posizioni in classifica, torna a giocare le qualificazioni dei tornei Challenger e accede al main draw di Padova dove batte Rublëv e Bellotti prima di perdere nei quarti contro Martin; raggiunge però la terza finale consecutiva, stavolta in doppio, in coppia con Gaio, e vengono sconfitti dallo stesso Rublëv e da Elgin. La serie positiva prosegue anche a luglio con il quinto titolo Futures in carriera a Sassuolo, prendendosi in finale una rivincita contro Naso e poi raggiungendo anche la seconda finale consecutiva in doppio, stavolta in coppia con Matteo Volante, persa contro Safwat e Weissbon.
Disputa poi la terza finale Challenger di singolare in carriera a San Benedetto del Tronto e viene sconfitto dal nº 66 del mondo Albert Ramos Viñolas per 6-2, 6-4. Rientrato nella top 300, nei mesi successivi non consegue successi in singolare nei tornei Challenger, mentre in doppio perde le finali in settembre a Genova con Arnaboldi) e a Stettino con Gaio. A fine stagione è 254º nel ranking di singolare, dopo essere stato 244º in ottobre, e 224º in doppio.
2016: prima partecipazione a un torneo del Grande Slam e primo titolo Challenger in singolare A inizio stagione esce di nuovo nelle qualificazioni degli Australian Open. A febbraio è in America per giocare i Challenger di Santo Domingo, dove arriva ai quarti, e di Cuernavaca, dove si spinge sino alle semifinali: questi risultati gli sono sufficienti per riaffacciarsi tra i primi 200 del mondo, dai quali era uscito a settembre 2012. Sconfitto nelle qualificazioni all'ATP di Acapulco, nei tornei Challenger di Napoli, Barletta e Torino ottiene tre vittorie e tre sconfitte, prima di uscire nelle qualificazioni all'ATP di Istanbul, al Masters di Roma e al Roland Garros. Raggiunge le semifinali a Caltanissetta ed esce di nuovo nelle qualificazioni di Wimbledon. In estate la sua ascesa in classifica si arresta non riuscendo a difendere la finale di San Benedetto del Tronto ed esce dalla top 200.
Alle qualificazioni degli US Open supera Ramanathan, Sugita e Kamke nel turno finale, conquista così per la prima volta in carriera l'accesso al tabellone principale di un torneo Slam, peraltro su una superficie sulla quale raramente aveva ottenuto risultati soddisfacenti e che non aveva mai affrontato nel circuito ATP. Il sorteggio gli fa trovare Kudla, già incontrato a Roma, e si impone al quinto set per 6-0; al secondo turno perde in tre set contro il numero tre del mondo Stan Wawrinka, nel suo primo incontro contro un top 10. Giannessi spreca un set point nel secondo set contro lo svizzero, che vincerà il torneo.
Forte del buon risultato americano, Giannessi conquista il primo titolo Challenger in singolare in carriera a]lo Szczecin Open di Stettino senza perdere alcun set, superando in finale Dustin Brown per 6-2, 6-3. Chiude la stagione raggiungendo la finale in singolare anche al Challenger di Ortisei, persa contro Stefano Napolitano per 6-4, 6-1. Con questo risultato, il 14 novembre eguaglia il suo best ranking tornando dopo 4 anni e mezzo al 126º posto mondiale.
2017: prima semifinale ATP e 84º nel ranking