We present a new algorithm for the problems of genotype phasing and block partitioning. Our algorithm is based on a new stochastic model, and on the novel concept of probabilistic common haplotypes. We formulate the goals of genotype resolving and block partitioning as a maximum likelihood problem, and solve it by an EM algorithm. When applied to real biological SNP data, our algorithm outperforms two state of the art phasing algorithms. Our algorithm is also considerably more sensitive and accurate than a previous method in predicting and identifying disease association. Categories and Subject Descriptors J.3 [Computer Applications]: Life and Medical Sciences-Biology and genetics; G.3 [Probability and Statistics]: Probabilistic algorithms General Terms algorithms, haplotyping Keywords haplotype, haplotype block, genotype, SNP, algorithm, maximum likelihood, genotype phasing, haplotype resolution, disease association