My DD did the same thing for her first weeks, which constantly woke up both me and DH. I just steeled myself to put up with it, but then she stopped doing it around 6 weeks or so. I've found that swaddling makes an enormous difference for us - she can't wake herself up with her flailing arms and legs, and she doesn't grunt in her sleep as much either. Most babies are calmer when sleeping on their tummies too (I won't do this unless she's supervised, though, until she's big enough to roll over).
We have a cosleeper next to the bed, and I keep her in that until she starts grunting a lot in the morning, then I bring her into bed with us, which calms her enough to sleep for another hour or so.
ETA: I just noticed in your post that you're also having trouble keeping him awake at the breast, which means he's probably hungry at night, which is probably contributing to him waking so often and sleeping restlessly. Try this: nurse him on one side until he falls asleep, then change his diaper (or if he's dry, just take the diaper off and wipe him - a wet wipe on the bottom will wake up anybody), then nurse him to sleep on the other side. This is what finally worked for us to get DD to sleep for more than an hour or so at a stretch.
I'm traveling the world with my kids without ever leaving home and blogging about it -- watch, taste, and share our adventures at TheGlobalStayCation.com!