I got the solution from https://drupal.stackexchange.com/questions/50358/save-a-new-value-with-entity-metadata-wrapper-to-an-entity-field-which-is-an-arr. I created two separate form fields. function createnode_form($form, &$form_state){ $form['field_student_age'] = array( '#type' => 'textfield', '#title' => t('test'), ); $form['field_student_age2'] = array( '#type' => 'textfield', '#title' => t('test2'), ); Then I stored them using the first method in the post quoted above. $ewrapper->field_student_age[] = $form_state['values']['field_student_age']; $ewrapper->field_student_age[] = $form_state['values']['field_student_age2']; Rather than using `set` as I'd done with single values, I created a new entry for each value using `[] =`.