Most burnout is the result of a physiological phenomenon known colloquially as the "coolidge effect"- aka NOVELTY.

All animals appear to be hard wired to respond well to interesting and new environments. The "coolidge effect" has traditionally been studied through the lens of sexual reproduction. It explains why a rat, presented with the same female, will lose interest with her over time. But, a rat presented with a new female every hour, will have sex until he is physically unable to move.

You lack novelty, as almost all jobs do. The trick for you is to abstract this primal drive for novelty, into a higher order function. You need to somehow trick yourself into finding your work novel and interesting.

One example that may work for you is TDD. TDD establishes an abstract system of work + reward.

A more advanced strategy is to find a way to STOP generalizing your work. If you work in programming for example... you will find that over the years, all problems begin to look the same. Sure maybe X is Y this time, and maybe you're storing it in this database, not that one, but the generic problem you're solving looks exactly like the problem you solved a week, a month, a year ago. The female rat in your cage, is the same rat.

What you must do is never look at your work that way. Instead, dig deeper into each problem. Dig, dig, dig. Find the novelty in each solution you produce. Make it a habit to never just solve the problem. Instead, become an expert in the solution of that problem - understand it fully.

I once worked with an excellent iOS developer who not only solved every task he was given, but he took it upon himself to become an expert in UI design. He wasn't content just implementing the UI, he wanted to understand state of the art design and apply that to his work.

This all assumes that your burnout isn't SO severe that you can't even start your work most days. If you're already to that level of burnout, then you need to start with just getting your life back on the rails. ROUTINE. Add rigid structure to your day. Use google calendar to map our your "ideal day", then shoot to achieve it every day. Enable notifications for Google Calendar, to remind yourself where you should be throughout the day. Here's an example:

6:00 AM - Wake up, warm tea, breakfast.

6:30 AM - Shower, get dressed, shave.

7:00 AM - WORK SESSION 1

9:00 AM - Break. Light exercise. Coffee?

9:30 AM - WORK SESSION 2

10:30 AM - Break. Get outside. Drink some water.

11:00 AM - WORK SESSION 3

1:00 PM - Lunch. Get outside. Do some light exercise. Read the news.

3:00 PM - WORK SESSION 4

5:00 PM - Break. Personal development time. Read. Build. Play an instrument. Workout. Paint a painting. Work on side project.

7:00 PM - Dinner.

8:00 PM - Relax. Watch TV with family. Play a game.

10:00 PM - Get ready for bed.

10:30 PM - In bed

11:00 PM - Asleep.

It's important to remember this is just an "ideal day". You shouldn't expect to always hit it. Modify it to your liking, and use it as a guide.

Good luck. If you're like me, you'll struggle with burnout probably your entire life. I will probably never dive into programming tasks like I did when I was first starting out. But that's not the goal. The goal is to not burnout, and to enjoy my work every day, which I do.