It is because of the uneven heating of the Indian subcontinent and the oceans which cause pressure difference.During the summer the Indian subcontinent heats considerably, generating an area of low pressure to the north. Circulation about this low generates strong winds from the southwest over the Arabian Sea .The seasonal winds which move from the oceans to Indian subcontinent brings heavy moisture from the water bodies during it's movement which results into the rainfall during arrival of the monsoon.