Heat oil in a large pot over medium high heat until oil shimmers. Add mustard seed, cumin seed, red lentils, and onions. Cook, stirring often, for 3 minutes, or until seeds pop and lentils begin to turn color. Turn heat down to medium if needed.
Add water, broccoli, and salt and simmer lentil mixture for 20 minutes, or until most of the liquid is absorbed and broccoli and lentils are tender.
Stir in garam masala, turmeric powder, cayenne pepper (if using) lemon juice, soy sauce, and milk. Heat soup until almost boiling. Remove from heat and serve hot with additional salt (if needed).