Heat the oil in a large saucepan over moderate heat. Add the onion and garlic and cook for 5 minutes or until tender. Add the carrots and cook, stirring frequently, for 4 minutes or until crisp-tender. Add the mushrooms and cook, stirring frequently, for 5 minutes or until tender.
Stir in the barley, stock, 2 cups water, the tomato purée, ginger and pepper. Bring to the boil, reduce to a simmer, cover and cook for 45 minutes or until the barley is tender. Sprinkle with the parsley before serving.