In the Mahabharata, Gandhari was the daughter of King Subala of Gandhara. She had a brother, Sakuni.

On the journey to Hastinapura, where she is to marry Dhritarastra, Gandhari is told that her prospective husband is blind. She put on a blindfold and swore never to look on the world again, as a mark of respect for her husband.

She becomes pregnant, carries the pregnancy for two years, and gives birth to a huge ball of flesh. The ball of flesh is divided into a hundred pieces and sealed up in clay pots full of butter. From these jars, her hundred sons are born. Duryodhana is the oldest, and Duhsasana is the second born.

When Bhima kills Duryodhana, he begs Gandhari to forgive him. She bitterly reproaches Bhima for fighting unfairly. Yudisthira stands before her and offers to take whatever curse she would give; Gandhari struggles with her feelings and decides not to curse him. But as she turns her head aside, her blindfold allows her to see Yudisthira's big toe, which is immediately burned black by her gaze.

She does her best to forgive the Pandus for killing her sons, and consoles Draupadi in her grief.

After the battle of Kurukshetra, Gandhari lives for fifteen years in the palace, is treated well, and befriends Kunti. Finally she retires to the forest with Dhritarastra.