Wat vandaag de dag het meest bekend staat als "Urdu" is vermoedelijk ontstaan in de 11e eeuw na Christus in Lahore en omgeving, toen het Ghaznavid-rijk het subcontinent binnentrok en heerste over Punjab, het land van de vijf rivieren.
Punjab stond ook bekend als "Hind" of het land ten oosten van de Indus.
De Ghaznaviden, hoewel van Turkse afkomst, spraken Perzisch als hoofdtaal. Toen zij Punjab of Hind veroverden met Lahore als hoofdstad, kwamen zij in contact met de lokale bevolking die een Indo-Arische taal sprak en Perzische woorden begon over te nemen in hun taal. Deze lokale taal was ook de voorouder van het moderne standaard Punjabi.
De contacten tussen het Perzisch en de moedertaal van Punjab begonnen een nieuwe taal te vormen en die werd bekend als "Lashkari Zaban" of taal van de bataljons.
Deze nieuwe taal, ook bekend als Hindavi, werd de gemeenschappelijke taal van de lokale bevolking en de heersende Ghaznaviden in de regio. In de twaalfde eeuw na Christus drongen de Ghaznaviden verder oostwaarts het subcontinent binnen en brachten deze taal naar Delhi, waar zij werd beïnvloed door de plaatselijke taal, het Khariboli.
Vanuit Delhi verspreidde het zich over een groot deel van het noordelijke subcontinent en werd het de gemeenschappelijke communicatietaal. Het werd verder beïnvloed door het Khariboli en verspreidde zich naar steden als Lucknow en Hyderabad Daccan. Het kreeg door de eeuwen heen ook nieuwe namen en titels.
Inheemse dichters in deze steden en het grootste deel van de regio droegen bij aan de ontwikkeling ervan en voegden er veel Perzische en Chagatai woorden aan toe. Zij voegden ook indirect Arabische woorden toe die het Perzisch al bevatte.
Het bleef zich ontwikkelen tijdens het sultanaat van Delhi onder invloed van Khariboli.
Het Mughal-rijk was een ander islamitisch rijk van Turkse oorsprong en sprak van nature Chagatai en Perzisch als andere taal, hoewel zij etnisch niet Perzisch waren of van Iraanse afkomst.
In die tijd werd de taal algemeen bekend als de Zaban-i-Ordu of taal van het Koninklijk Kamp.
In de late achttiende eeuw na Christus zou de dichter Ghulam Mashafi het de naam "Urdu" hebben gegeven, afgekort tot "Zaban-i-Urdu".
Het woord komt van Chagatai, de moedertaal van de Mughals en behoorde tot de Oost-Turkse subfamilie van talen. Chagatai was nauw verwant aan het huidige Oezbeeks en Oeigoer en in de verte aan het huidige Turks, omdat ze allemaal tot dezelfde Turkse taalfamilie behoren.
In zijn eigen inheemse vertaling was het Lashkari Zaban en kortweg Lashkari.
Ook tijdens het Mughal-rijk was wat algemeen bekend werd als Urdu een hoftaal in een aantal grote Zuid-Aziatische steden, waaronder Delhi, Amristsar, Lucknow en Lahore.
Tegen de tijd van het Britse Rijk werd het ook bekend als "Hindustani" of de taal van Hindustan, het land van de Indus. Het bleef dienen als hoftaal in dezelfde steden.
Het werd door veel mensen in Noord-India als eerste taal aangenomen.
Tegen het einde van de Britse overheersing en de onafhankelijkheid van Pakistan werd het gekozen als de nationale taal voor de bevolking van het land, omdat zij verschillende talen en dialecten spraken.
In India werd het de nationale taal, maar het kreeg de naam Hindi en werd geschreven in het Devanagari-schrift. Het gebruikte ook minder Arabische, Perzische en Chagatai woorden en in plaats daarvan werden Sanskriet woorden overgenomen.
Tegenwoordig is het de meest gesproken taal in Pakistan wat betreft het aantal sprekers en een geregistreerde taal in 22 Indiase deelstaten.