Singh,
Having a witness is a good thing for insurance purposes if you're involved in an accident. However you need to have valid insurance cover in place for yourself on that car first. If you have paid for the premiums, then Asda would have sent you documents through the post regarding your car insurance policy or you would have got an email from them confirming your policy if this was just an online thing (or you would have been given the option to print your policy on the website). Insurance companies no longer accept cash, so you would have paid by credit/debit card or by cheque which means that the transaction to Asda would show on your bank statements and you can use that as proof that you had a valid car insurance policy with them.
Asda cannot cancel your insurance cover for no reason. You need to speak to them to see why your policy was cancelled and money not refunded. You may be charged with driving without insurance though if they really cancelled your car insurance cover and you will have to fork out the money to repair your own vehicle. Since you have a witness and you can prove that the accident was not your fault, you wouldn't need to pay for third party damages under these circumstances but remember there's a fine for not having adequate insurance in place for your vehicle.