Serving notice period if work visa not renewed

I have been working for 4 years in a company. However, my working visa is expired for more than a month now. Sent reminders to HR and I was advised it will be processed but nothing has been done so far till date. I recently received an offer letter from another company, submitted my resignation requesting for 2 weeks' notice. But I was told by HR, it should 30 days. Should I still serve notice period to my employer when my work visa is expired and no solid assurance when or if it will be renewed? Appreciate your clarification in this regard. Thanks

Do you have a contract for a definite term or indefinite?  is the contract valid?

In any case, you can resign by giving whatever notice you want.  Worst case, they can deduct the balance period vs. the notice from your end of service benefits. This means if you were legally obligated to work for 1 month after resignation and worked for 2 weeks; they will deduct 2 weeks salary from your end of service benefits.

The problem is the visa.  If they don't renew within 3 months of expiry, they are NOT allowed to renew the visa as per LMRA rules.  And until they cancel the visa or allow mobility to another employer, you are in a limbo and cannot do anything.

What you need to do is go personally to LMRA and state that you wish to transfer to another employer due to the reason of work visa expiry.  Ideally this should be done 30 days before expiry but you can't help it now.  If LMRA allow it, then they will cancel visa and allow for transfer to another employer within 30 days.  Keep in mind that they may disallow it and ask you to first register complaint with Ministry of Labour and / or resign and provide proof.  This would be based on their interpretation of the below law as applied to your case:

http://lmra.bh/portal/en/page/show/31

Thank you so much for a very informative reply. Much appreciated. Best regards

Welcome.  And by the way, it just occurred to me; since your work permit is expired, you may be eligible for a flexi-permit.   This is in case if you don't have a job waiting for you and want to stay in Bahrain.  Will cost around 450 BD up front and then 30 BD a month but you can immediately transfer to that from your employer.  Just a thought.