After Vegeta became completely dominated by Cell in his perfect form, Trunks decided to unleash his hidden power in an attempt to defeat Cell.
However, Vegeta was convinced by the latter to help in absorbing Android 18, which in turn made him even stronger than Vegeta. This ascended level was more than strong enough to defeat Cell in his Semi-Perfect form.