Question: who plays granny on once upon a time
Answer: Beverley Elliott ( born 31 December ) is a Canadian actress and singer - songwriter .