The bill passed the House 102 to nothing Tuesday and now goes to Gov. Bob Riley for his signature.
The bill was supported by Riley and was a reaction to a recent U.S. Supreme Court decision in a Connecticut case that said cities could use the power of eminent domain to obtain private property for commercial development.
The bill prohibits the use of eminent domain for commercial, office, retail or industrial developments.
Some lawmakers had favored dealing with the issue as a constitutional amendment.
Rep. Gerald Allen of Tuscaloosa says he hopes a constitutional amendment can pass in the next regular session.