We develop a new approach to cluster algebras, based on the notion
of an upper cluster algebra defined as an intersection of Laurent
polynomial rings. Strengthening the Laurent phenomenon established
in [7], we show that under an assumption of
``acyclicity,'' a cluster algebra coincides with its upper
counterpart and is finitely generated; in this case, we also
describe its defining ideal and construct a standard monomial
basis. We prove that the coordinate ring of any double Bruhat cell
in a semisimple complex Lie group is naturally isomorphic to an
upper cluster algebra explicitly defined in terms of relevant
combinatorial data.