João Vilela assinou pelo Schaffhausen, da segunda divisão suíça, até 30 de junho de 2018.

O médio, que terminou a época na União de Leiria depois de a ter iniciado no Belenenses, vai para a sua segunda aventura no estrangeiro, já que em 2012/13 teve uma passagem fugaz pelo Tractor, do Irão.

Formado no Benfica, João Vilela destacou-se no Gil Vicente, onde esteve oito épocas e meia em três fases diferentes. Ao fim de quatro anos rumou a Fátima, mas na temporada seguinte voltou a Barcelos. Mais dois anos e uma saída para o Irão durante seis meses.

Regresso de novo ao Gil Vicente para mais dois anos e meio, terminando a ligação no final de 2014/15. Seguiu-se a tal meia época nos azuis do Restelo e em Leiria, a disputar o Campeonato de Portugal.

Aos 30 anos, escolheu o desafio de ajudar uma equipa do segundo escalão helvético.