Originaire d'une famille afrikaner, Weyers a grandi dans un milieu modeste de la région de Pretoria.
Il suit des cours de théâtre à l'âge de 19 ans, fréquente des milieux intellectuels anglophones et signe une pétition en faveur d'Athol Fugard. Devenu critique de la politique d'apartheid, il ne fait pas de militantisme politique et poursuit une carrière théâtrale et cinématographique, commencée durant son service militaire.
À la suite du succès du film les Dieux sont tombés sur la tête de Jamie Uys (1980), il entame une carrière internationale, tournant à Hollywood dans des films généralement centrés sur l'Afrique du Sud.
En 2011, il retrouve la comédienne Sandra Prinsloo dans la série Hartland dans laquelle il joue le rôle de Jan Cilliers.