Heat the butter in a large, deep skillet over medium to medium-high heat. Once melted, add the onion and cook 5 minutes, stirring occasionally. Stir in the garlic and ginger and cook 1 minute more, stirring constantly.
Stir in the garam masala, salt, hot sauce, tomato paste, and chicken stock. Turn the heat up and bring it to a boil, and then turn the heat down to simmer and cook (uncovered) 10 minutes, stirring occasionally.
Cool slightly, and then carefully puree the sauce in a blender or using an immersion blender. Return the sauce back to the skillet over medium heat.
Add the chicken and cook until warm, about 3 minutes. Stir in the cream, stevia, and lemon juice. Turn off the heat.
Serve the butter chicken topped with cilantro and red onion, along with cauliflower rice if desired.