In Mahabharata and Ramayana this area is known as Pragjyotisha. Kamarupa's first inscription is from the Allahabad inscription of Samudragupta. According to the Kalika Purana this place had Karatoya River as its western boundary. The eastern border was the temple of the goddess Tamreshvari. The southern boundary was between the Dhaka and Mymensingh districts in Bangladesh. It appears that the kingdom was split by the 13th century into smaller kingdoms. From that came the Kamata kingdom in the west and the Ahom kingdom in the east.
Kamarupa began as a subordinate ally of the Gupta Empire. Kamarupa grew territorially to include the entire Brahmaputra valley and regions beyond it. The kingdom was ruled by Danava dynasty, Varman dynasty of Assam and Mleccha dynasty.
Pushyavarman had established the Varman dynasty. However his son Samudravarman was accepted as an overlord. The rulers who came after that continued their attempts to expand the kingdom. Narayanavarma and his son Bhutivarman offered the horse sacrifice. After expansion of Bhutivarman's kingdom, it was attacked by Yasodharman of Malwa. Bhutivarman's grandson, Sthitavarman enjoyed victories over the Gaudaof Karnasuvarna and performed two horse sacrifices. Bhaskarvarman succeeded in expanding the kingdom.
Post Bhaskaravarman's death the kingdom passed into the hands of Salasthambha who was a local governor of an aboriginal group called Mlechchha. This dynasty drew its lineage from the Naraka dynasty. The capital of this dynasty was Haruppeshvara.
Kamarupa was attacked and the western portion was invaded by the Pala Dynasty However Ramapala could not hold Kamarupa for long and thereby Timgyadeva ruled Kamarupa independently. In 1205 the Turkish Muhammad-i-Bakhtiyar passed through Kamarupa against Tibet that ended in utter disaster. Yuzbak attacked an unknown ruler of Kamarupa in 1257. However he could not hold on to the capital. Simultaneously western Kamarupa was being ruled by the chiefs of the Bodo tribe people, Koch tribe and Mech tribes.