Most of the retinal diseases namely retinopathy, occlusion etc., can be identified through changes exhibited in retinal vasculature of fundus images. Thus, segmentation of retinal blood vessels aids in detecting the alterations and hence the disease. Manual segmentation of vessels requires expertise. It is a very tedious and time consuming task as vessels are only a few pixels wide and extend almost throughout entire span of the fundus image. Employing computational approaches for this purpose would help in efficient retinal analysis. The methodology proposed in this work involves sequential application of image pre-processing, supervised and unsupervised learning and image post-processing techniques. Image cropping, color transformation and color channel extraction, contrast enhancement, Gabor filtering and halfwave rectification are sequentially applied during pre-processing stage. A feature vector is formed from the pre-processed images. Principal component analysis is performed on the feature vector. K-means clustering is executed on this outcome to group pixels as either vessel or non-vessel cluster. Out of the two groups, the identified non-vessel group undergoes an ensemble classification process employing root guided decision tree with bagging, while vessel group is left unprocessed as further processing might increase misclassifications of vessels as non-vessels. The resultant segmented image is formed through combining the results of clustering and ensemble classification process. The vessel segmented output from previous phase is post-processed through morphological techniques. The proposed technique is validated on images from publicly available DRIVE database. The proposed methodology achieves an accuracy of 95.36%, which is comparable with the existing blood vessel segmentation techniques.