Likewise, why did cersei kill Olenna Tyrell?
Naturally, Jaime found Lady Olenna waiting calmly in her chamber for her death, which surely came. However, some are wondering why did Jaime kill Lady Olenna on Game of Thrones? The simple answer is: because Cersei wanted him to.
Likewise, why did Olenna kill Joffrey? Out of her love for her granddaughter, Olenna poisoned Joffrey and let Tyrion take the blame. Only Margaery knew the truth, after Olenna confessed she couldn't bear to see her granddaughter married to Joffrey any longer.
Also to know is, why did cersei attack Highgarden?
But a Lannister always pays her debts. With Jaime capturing Highgarden, the Lannisters now control the wealth of the Tyrells, the richest family in Westeros at this point. And with that money, Cersei can pay back some of what she owes the Iron Bank, and show them that they should back her instead of her enemies.
How did Olenna get the poison in the cup?
In reality, it was Olenna who had poisoned the wine. During the feast, the Tyrell matriarch sneakily took the poisoned stone from Sansa's necklace and put it in Joffrey's wine glass while he was mocking his uncle, cutting open his wedding cake with a sword, and just acting the pompous fool in general.