1) renting/sharing an office or coworking space with other freelancers. Spent a few thousand on this one year even though I could have just worked at home, but it resulted in connections to some great people and good projects. Has paid for itself many times over.
2) having drinks with new people. Just going to a lot of meet ups, being social, putting yourself out there and letting people know what you do over and over again. Lots of times nothing happens or something falls through, but sometimes you end up in the right place at the right time.
3) talking to former clients or coworkers from a previous job and letting them know I am available for freelance work.
4) referrals from clients gained from 1, 2, and 3
Others I have seen be successful just focus hard on a particular open source project. I've seen a group of guys go from not knowing PHP to focusing on Drupal, contributing source code, becoming recognized experts, then speaking at conferences and getting huge clients in only a few years.
Do your homework first. Get online and find out what businesses don't have a website or have an old outdated website. Then put together a few pages of information that explains how a website can directly impact their business and how you are the person to get that done. You could also include additional services such as setting up social media accounts or getting Google Analytics set up etc. etc. Those wouldn't take too much time for you to do but they would add an increase in the value to what you can offer a business. Be sure to present your services as something that can help them sell more of their product.
After you finish a site ask the client to fill out a short customer satisfaction survey and ask if it's ok to use quotes from it on your personal website/portfolio. Also, ask your clients to refer you to other businesses if they think you did a good job. When you have several sites done and several clients taken care of then word of mouth will start helping you get some more clients.
Of course, the frequency of such events depends on your local market size. There are a variety of sites out there, and a lot compete on price like you hint at.
I'm working on a new startup called matchist (http://matchist.com/talent) that finds you quality clients that pay on time, every time, without competing in a race to the bottom on price.