No início do século XVIII na Escócia, um nobre, o Marquês de Montrose (John Hurt), se compromete a entregar uma carta de crédito de mil libras, mas o pagamento é feito em dinheiro e é roubado pelo chefe da guarda (Tim Roth) do Marquês. O nobre exige seu dinheiro e quando o capitão da guarda resolve prender Rob Roy MacGregor (Liam Neeson), o chefe do clã, para alguém pagar pelo seu crime. Entretanto, ele não o encontra e, para provocá-lo, estupra Mary (Jessica Lange), sua mulher, e queima sua casa. Este acontecimento provoca o desejo de vingança do clã ofendido.