The Indo-European speakers invaded from the north.

https://en.wikipedia.org/wiki/Indo-Aryan_migrations

There is a difference between invasion and migration though, AIT has long been debunked, the current consensus is AMT

That doesn't explain Sri Lanka which is past South India...

Edit: The actual answer is North/Eastern Indians speaking an IE variant immigrated to Sri Lanka in the 5th/6th centuries and became the dominant language there since (Sinhala)

Could it be that Sri lanka is an island