The battle between Mahishmati and the Kalakeya Tribe is an important plot storyline and final battle of Baahubali: The Beginning. The Kalakeyas have been using the traitor Sakithan as a spy to learn about the kingdom and lay siege to it, and the Mahishmati royals make their stand to fend them off.
Possible Causes of the War
The kingdom has had uneasily relations with the Kalakeyas from their earliest known interaction in The Lost Legends. Baahubali, Bhallaladeva, and Kattappa are sent to seek alliance with Inkoshi, but it ends badly after Inkoshi holds the princes captive in exchange for Mahishmati's signature steel swords. Baahubali and Bhalla escape and Baahubali burns Inkoshi's face in the process of finding Kattappa's sword. Inkoshi has sworn revenge on Mahishmati from that point on
Given the Kalakeya's nature and Mahishmati's reputation, they may have had their eyes on the kingdom for a long time thus explaining their sudden attack, and they have been using a traitor named Sakithan who also speaks Kiliki to learn about the kingdom.
As discussed before the battle, the princes have the armies divided and intend to capture Inkoshi. Bijjaladeva makes sure that Bhallaladeva has his Scythe Chariot and more men and weapons, while Baahubali manages to use improvised battle techniques such as setting the sewn tents on fire and releasing them on the army. Kattappa holds a defense at the kingdom's gates while the princes outflank Inkoshi's army. Kattappa's defenses are breached but Baahubali motivates the soldiers to keep fighting and manage to save the civillian hostages as well. Bhalla is held back by Inkoshi but Baahubali captures him and Bhalla kills him. Sivagami declares Baahubali as the rightful king for showing his subjects and people respect.