Punjab beat Chennai by 4 runs in a thriller