1. Place the chicken, onion, carrots, celery, and garlic in a large stock pot. Cover with water and a lid. Bring to a boil, and then reduce heat to a low boil until the chicken is cooked through, about 60 to 90 minutes.
2. Let the chicken cool in the pot for about an hour. Debone the chicken, picking off the meat. Discard the skin and bone. Reserve the broth. Place the meat back into the pot with the broth and veggies.
3. Add the curry paste and coconut milk, stir, and then add the cauliflower and enough water if necessary to cover. Return to a slow boil. Reduce heat and simmer for 20 minutes. Add the ginger and continue to simmer for 15 minutes more.
4. Remove from the cooktop and add lemon juice before serving.