There are
471 mi
from St Joseph, MO to Lafayette, IN
That's the driving distance. It would take 8 hours 59 mins to go from St Joseph, Missouri to Lafayette, Indiana.
The flight distance (direct flight from St Joseph, MO to Lafayette, IN) is 423.14 mi.
471 mi = 757.32 kms