If you ever come to London and have any inclination to do any crafting at all, I only have one suggestion for you: Go to Goldhawk road, it's fabric heaven! There is one shop right next to the other and they all offer an amazing, crazy, colourful and often surprisingly cheap collection of fabrics. It can be so overwhelming, I only walk in there with specific projects in mind otherwise I buy everything or nothing.
With a bit of digging, one can find pretty much anything. If you buy larger quantities of fabric, haggling is perfectly acceptable! It can also pay off to check several shops but often the prices are fairly equal. However, since the stock is so erratic, don't expect to be able to come back six weeks later and get some more of the same. Odds are, it's probably sold out.
Haberdashery is harder to come buy. There is a stall in the actual Sheperd's bush market, right next to the shops (open Monday-Saturday between 9 and 6 I believe) which sells it. Alternatively, “All-in-One fabrics”, the one at the corner to the market, has a small haberdashery section on the upper floor.
How to get there: Goldhawk Road is a street in Sheperd's bush, somewhat off the beaten tourist path but well worth a visit. To get there, take the Hammersmith and City (the pink one) or the Circle line towards Hammersmith. Just get out the tube station and you can see the shops directly.
Opening times: Careful, shops close fairly early, at around 6 pm I believe. Don't turn up too late!