Heat the oil in a skillet over medium heat. Place onion in the skillet. Reduce heat to low, and cook, stirring often, 15 minutes, or until soft and brown.
Mix the garlic paste and ginger paste into the skillet. Cook 1 minute. Mix in cumin, coriander, cardamom, turmeric, and salt. Stir in the jalapeno, cilantro, lemon juice, and tomatoes with juice, scraping up any brown bits from the bottom of the skillet. Bring to a boil. Reduce heat to low, cover, and simmer 20 minutes. If you like, the sauce may be set aside for a few hours at this point to allow the flavors to blend.
Return the sauce to a boil, and place cod in the skillet. Reduce heat to low, and cook 15 minutes, or until fish flakes easily with a fork.