I used to have this problem with Lexi. The vet suggested feeding her in her crate. I don't have any problems with her now. She gets feed twice a day (6:45 AM and 5:30 PM), but has access to water all day. I place her food in her crate and when we started I would have to put her in the crate, but she now runs into it. I leave the room or in the morning go back to sleep. Then in 20-30 minutes I take her out of the crate and put the food up. Same at night. Lexi eats anywhere from 6-8 tbsp of food. So this is the amount I put in the dish in the morning. I give her the whatever is left at night. When I first started doing this she would have a fit because she was used to me sitting on the floor with her. But when I was in the room with her all she wanted to do it play. This works SO much better. Oh, and if she seems hungry between meals she gets a snack/treat, but I try to limit these.
Plus when we visit my parents I don't have to worry about their dog eating Lexi's food. Last time we visited she ate all of Lexi's food and I had to go to the store to by a new bag!