How does one control his nafs agaisnt desires? What are some recommended things to get more control of the nafs?

1- Eat less
2- Occasionally give up some comforts like sleeping on the floor without a blanket or pillow. It makes you humble and strong.
3- Remember death 20 times a day
4- Be familiar with the lives of Ahlulbayt (a). You can read this series:

5- See this lecture: