Give the recursive backtracker algorithm a try.

http://en.wikipedia.org/wiki/Maze_generation_algorithm