An injury time penalty from Diego Castro has given nine-man Sporting Gijon a surprise 1-1 draw against Villarreal on Sunday.