I think ”pentru” works as well. ”Morcovul e bun pentru supă”. ”Pe” and ”ca” definitely not work in this sentence.
Why "la" and not "pentru"? Or even "pe" or "ca"?
None really work here. I would just learn it as it is.
When do you use "e" instead of "este"?
"e" is just the short form of "este", you can use either of them.
Why is ciorba incorrectt?