Late comes from the Old English laet, which meant sluggish or slow before it meant, you know, late. It comes from the Proto Germanic lata- and Proto Indo European led-, slow or weary, from the root word le-, which actually means let go or slacken, and like most Proto Indo European words has a lot of descendants.
For example, belated (which showed up in the early seventeenth century) is just be- + late. Later, appearing in the sixteenth century, is a comparative (i.e. near and nearer) form of the word. Then there’s latter. It comes from the Old English laetra, slower, and it was actually a comparative of laet! It actually meant “belonging to a subsequent period” in the thirteenth century and didn’t mean the last item mentioned until the sixteenth century.
Last showed up in the thirteenth century, actually a contraction of the Old English latost (last) and the superlative (the highest comparative of laet. The verb form of last (as in outlasting something) is not related, because of course it’s not related that would make sense.
Seriously, that last comes from the Old English laestan, perform, carry out, or pursue. It’s Proto Germanic origin word is laistjan, and it’s Proto Indo European word is lois-, which means furrow or track. No, I have no idea how it got from furrow to outlast. This is a madman’s game.
Tony Jebson’s page on the Origins of Old English