Drain tomatoes, reserving juice. Arrange tomatoes in a single layer in a shallow 9- or 10-inch square casserole. Measure 2 cups tomato juice; if less than 2 cups, add water. Reserve any extra juice for other uses.
In a 10- to 12-inch frying pan, combine onion, oil, cardamom seed, cumin seed, ginger, mustard seed, and chopped lemon. Stir over high heat until onion is limp, 3 to 5 minutes. Stir in curry powder and add tomato juice, lemon juice, sugar, and 1/4 cup cilantro. Boil, stirring occasionally, until mixture is reduced to 3 cups, about 5 minutes. Pour over tomatoes in casserole.
Bake in a 375° oven until sauce is slightly reduced and flavors are well blended, about 45 minutes (35 minutes in a convection oven). Baste tomatoes with juices and gently mix in remaining cilantro. Add salt to taste. Serve hot or at room temperature.