I actually worked a house-cleaning job part-time to help put myself through grad school. Firstly, from that point of view, I would like to say thank you for creating a job in your local community.
To answer your question, I think you should definitely talk with her first. Your pay set-up isn't completely ideal by the way, because in cleaning it can often better for both parties when paid by the job than by the hour. So I'll be coming at it from a different angle, but bear with me. First, decide if she still accomplished the expected tasks on the occasions she left early. If she completed everything early and was just efficient, then I would say to *definitely* pay her the extra for the new extra work you requested. After all, would you want a cleaner that just drags out the time until 2.5 hours is up, or one who gets the list of tasks done early?
On the other hand, if she left early and you notice that some stuff didn't get done, defintely confront her with this, but be specific about exactly what you think didn't get done and why (e.g. "I noticed there was a layer of dust on top of the TV where you're supposed to dust every week").
So hear her side of the story. If she really has been skimping on her work then you should definitely address it. The best solution in that case would be to see if you can both agree on her doing the extra task for free this time as a one-off and then 'wipe the slate clean' for both parties (but make your expectations clear of what is and isn't expected of her in the future).
No matter which of the two situations it is, I'd suggest talking with her about making her pay based on the job (having her work a list of agreed tasks) instead of the hours (it won't make a practical difference to you unless you add tasks - for which it only seems fair to charge extra - but that way it doesn't take away any incentive for her to work efficiently). Hope this helps!