Well given that the standard is 30 days notice, your employer is entitled to do what they are doing. They won't cancel your visa until after the notice period, plus they require your passport to cancel your visa.
Sadly it sounds like you really didn't think through the time scales for everything. Your employer is only acting as per the labour law. If you want them to do it any quicker, then they might be willing to do it if you give up a months salary in return of the 30 days notice - this can be standard practice.
Also what kind of contract do you have? If you are on a limited contract and have completed less than 2 years, this could get quite tricky.