Taken from How to extend root partition. Worked just perfect for me.
First thing to do is back up any important information.
You can't modify the systems's partitions (and parent extended partitions, like /dev/sda11) when the system is using them - so you need to modify the partitions from outside the system - the Ubuntu install disk should do for that. So first you need to boot from the disk, and open GParted.
Note about Gparted: Once you initiate a task, you must click the green check mark to execute the task. You should only do one of these tasks at a time for this session.
Now that you are booted up in a LIVE USB and using Gparted, you can navigate to the (sda7) and delete this partition, making sure that you back up any data on that partition first. This will leave a grey area that says UNALLOCATED.
Net you will need make sure that this empty space is right next to your root partition (sda11) on the RIGHT of the home partition. If there is a small partition called SWAP in between (or any other partition in between) it will need to be moved to the right of the grey unallocated space.
Note - Do not move your home partition, or you will need to fix your BOOT partition.
Now that the home partition and the unallocated space are contiguous, you should be able to resize the home partition (sda11) by clicking on on it, then clicking resize, then by dragging the right edge of the rectangle in the pop up menu. After you tell GParted you want those operations to be done, you have to tell it to apply them (click the green check mark). It may take a while, but it should work without problems.
After this reboot into your normal install of Ubuntu (not the live disk), and check the partitions again with Gparted to ensure everything went as planned.
NOTE: Normally things go smoothly i.e without any problem but sometime they don't and therefore it is important that you backup your data before making any changes to your hardisk. Its better to be safe than sorry!