diff --git a/core/modules/field/field.module b/core/modules/field/field.module
index 8157971..1d6830f 100644
--- a/core/modules/field/field.module
+++ b/core/modules/field/field.module
@@ -311,6 +311,7 @@ function field_help($path, $arg) {
 function field_theme() {
   return array(
     'field' => array(
+      'template' => 'field',
       'render element' => 'element',
     ),
     'field_multiple_value_form' => array(
@@ -1113,10 +1114,12 @@ function template_process_field(&$variables, $hook) {
   if (!isset($default_attributes)) {
     $default_attributes = drupal_attributes();
   }
-  $variables['attributes'] = isset($variables['attributes']) ? drupal_attributes($variables['attributes']) : clone $default_attributes;
-  $variables['title_attributes'] = isset($variables['title_attributes']) ? drupal_attributes($variables['title_attributes']) : clone($default_attributes);
-  $variables['content_attributes'] = isset($variables['content_attributes']) ? drupal_attributes($variables['content_attributes']) : clone($default_attributes);
+  $variables['attributes'] = isset($variables['attributes']) ? $variables['attributes'] : clone($default_attributes);
+  $variables['title_attributes'] = isset($variables['title_attributes']) ? $variables['title_attributes'] : clone($default_attributes);
+  $variables['content_attributes'] = isset($variables['content_attributes']) ? $variables['content_attributes'] : clone($default_attributes);
   foreach ($variables['items'] as $delta => $item) {
+    // FIXME: $variables['item_attributes'][$delta] should be Attribute object
+    // as well as variables from above.
     $variables['item_attributes'][$delta] = isset($variables['item_attributes'][$delta]) ? drupal_attributes($variables['item_attributes'][$delta]) : clone($default_attributes);
   }
 }
diff --git a/core/themes/stark/templates/field/field.twig b/core/themes/stark/templates/field/field.twig
new file mode 100644
index 0000000..0db4294
--- /dev/null
+++ b/core/themes/stark/templates/field/field.twig
@@ -0,0 +1,29 @@
+{#
+/**
+ * @file
+ * Returns HTML for a field.
+ *
+ * Available variables:
+ *  - label_hidden: A boolean indicating to show or hide the field label.
+ *  - title_attributes: A string containing the attributes for the title.
+ *  - label: The label for the field.
+ *  - content_attributes: A string containing the attributes for the content's div.
+ *  - items: An array of field items.
+ *  - item_attributes: An array of attributes for each item.
+ *  - classes: A string containing the classes for the wrapping div.
+ *
+ * @see template_preprocess_field()
+ * @see template_process_field()
+ * @see theme_field()
+ */
+#}
+<div class="{{ attributes.class }}"{{ attributes }}>
+  {% if not label_hidden %}
+    <div class="field-label {{ title_attributes.class }}"{{ title_attributes }}>{{ label }}:</div>
+  {% endif %}
+  <div class="field-items {{ content_attributes.class }}"{{ content_attributes }}>
+    {% for delta, item in items %}
+      <div class="field-item {{ cycle(["even", "odd"], delta) }}{{ item_attributes[delta].class }}"{{ item_attributes[delta] }}>{{ render(item) }}</div>
+    {% endfor %}
+  </div>
+</div>
