Há nove classes únicas no Team Fortress 2, categorizadas em ofensivas, defensivas e suporte.[11] Cada classe tem pelo menos três armas: uma arma primária, uma arma secundária comum ou única, como uma shotgun ou flare gun, respectivamente, e uma distinta arma melee para combates corpo a corpo, como a garrafa do Demoman, uma machete para o Sniper, e um machado de incêndio para o Pyro.[22]
As três classes ofensivas são o Scout, o Soldier e o Pyro. O Scout (voz dublada por Nathan Vetterlein) é caracterizado por um fã de baseball de Boston, Massachusetts que fala muito rápido,[23] e é veloz, ágil e armado com uma scattergun (um tipo de espingarda de curto alcance) e uma pistola. O Scout é capaz de realizar um pulo duplo, porém, ele não aguenta receber muito dano. O Soldier (voz dublada por Rick May) é mais durão, mas é consequentemente mais lento. Típico estereótipo de um soldado americano,[24] o Soldier anda armado com um lança míssil, que pode ser usado para realizar a técnica rocket jump para voar para locais mais altos. A última classe ofensiva é a Pyro (voz dublada por Dennis Bateman). Vestido em uma roupa à prova de fogo e com uma máscara de gás que abafa sua voz, o Pyro carrega um lança-chamas que pode incendiar os inimigos, assim como pode produzir uma rajada de gás comprimido que joga inimigos próximos ou projéteis para longe.[22][25]
O Demoman, o Heavy, e o Engineer fazem parte das classes defensivas. O Demoman (voz dublada por Gary Schwartz) é um escocêsnegro, de um olho apenas, que bebe muito.[26] Armado com um lançador de granadas e um lançador de sticky bombs, o Demoman pode usar seu equipamento para fornecer fogo indireto em posições inimigas.[22] O Heavy (também dublado por Schwartz) é um personagem russo, com uma grande estatura e sotaque forte, obcecado pelas suas armas ao ponto de dar a elas nomes humanos. O Heavy pode sofrer mais dano do que qualquer outra classe e possui imenso poder de fogo, mas é muito lento devido ao seu próprio tamanho e ao peso de suametralhadora.[27] O Engineer (voz dublada por Grant Goodeve) é a última classe defensiva, retratado como um intelectual e relaxado homem de ar rural do Texas.[28] O Engineer é capaz de construir um certo número de estruturas para dar suporte ao seu time: uma sentry gun (uma metralhadora automática sentinela) para defender pontos especiais, uma fornecedora de munição e vida e um sistema de teleporte.[22]
A última categoria, suporte, possui as classes Medic, Sniper, e Spy. O Medic (dublado por Robin Atkin Downes) é um médico alemão deStuttgart com pouca consideração pelo Juramento de Hipócrates,[29] responsável por manter seus companheiros de time vivos. O Medic está equipado com uma medigun para curar seus amigos, e pode deixá-los temporariamente invulneráveis ou aumentar seu poder de fogo depois que a medigun tiver sido usada por um tempo.[19][22] O Sniper (dublado por John Patrick Lowrie) é um alegre australiano que racionaliza sua linha de tarefas,[30] equipado com um rifle com mira à laser para atingir inimigos à longa distância e uma sub-metralhadora para combates de curta distância.[22] A última classe de suporte é o Spy, um francês sem expressão (também dublado por Dennis Bateman): em adição ao seu revólver, ele possui um conjunto de ferramentas de disfarce, como um dispositivo de camuflagem, um aparelho eletrônico para sabotar as estruturas do Engineer, e um dispositivo escondido em sua caixa de cigarros que o permite se transformar em outros jogadores. O Spy também pode usar seu canivete Butterfly para apunhalar inimigos pelas costas, o que causa morte instantânea.[22]
Valve demonstrou seu grande interesse em manter o jogo balanceado quanto à implementação de novidades para as classes. Cada classe tem suas próprias fraquezas e pontos fortes, o que gera a dependência das outras classes para maior eficiência. Isso força o gameplay para possuir mais pensamento estratégico e aumento na utilização de trabalho em equipe, o que não aconteceria se alguma classe tivesse muitas vantagens. Cada uma das classes nas três categorias possuem pontos fortes e fracos compartilhados, enquanto que cada classe individualmente também possui suas próprias vantagens.[31]